Finns det någon funktion som plockar ut alla delsträngar som matchar till exempel en regexp i en sträng? Vad jag vill göra är följande:
$text = "Alla barn gråter nu.";
$pattern = "/\S+/"; # Matcha ett eller flera icke-blanksteg
$ord = plocka_ut($text, $pattern);
/*
Nu vill jag att $ord ska vara en array som ser ut så här:
array("Alla", "barn", "gråter", "nu.")
*/
Jag har stirrat mig blind på sträng- och regexpfunktionerna, men jag kan tamefan inte hitta något som gör det jag vill. Har jag letat för slött, eller är det helt enkelt så att det inte finns någon funktion för detta?
------------------ Crying tears of lead spangoman - back from the dead!
Detta är snabbare än att använda reguljära uttryck. Om du vill gardera dig mot att fler än ett mellanslag separerar orden så kan du använda split() eller preg_split().
$text = "Alla barn gråter nu";
$ord = preg_split("/\s+/",$text);
Nu var det dessvärre inte så enkelt. Det här ska användas i en funktion som görlänkar av alla url:er i en text. Just nu har jag bara whitespace som avslutning av url:erna, men tyckte att det vore najs om >, " och ' kunde få vara det också. Mönstret jag skulle vilja plocka ut är väl typ |http://[^>\s\"\']+|
------------------ Crying tears of lead spangoman - back from the dead!