webForumDet fria alternativet

Matcha samma ord

PHPur PHP

2 svar · 302 visningar · startad av Storsmurfen

StorsmurfenMedlem sedan juli 20059 inlägg
#1

Hejsan!

Jag vill plocka bort eventuella dubletter av första ordet i en sträng.

min börja:

echo preg_replace("/^([^ ]+)([ ].*)(.+)$/i", "$1$2$3", "CLUB hepp CLUB bla haha");

kan man inte använda $1 eller något annat i sin pattern för att matcha första parantesen?

här vill jag plocka bort det andra CLUB ordet.
några tips?

DufferMedlem sedan mars 2003429 inlägg
#2

Min lösning skulle vara att göra en loop ifall strpos() och strripos() gav olika värden skulle jag plocka bort alla "club" efter det första med hjälp av substr()
(Kräver PHP5)

Kass lösning till PHP 4 men den funkar vore att plocka bort allt fram till efter första club (som man hitta med strpos()) sedan gör man en ny sökning, finns det några då, då plockar man bort de med substr()

StorsmurfenMedlem sedan juli 20059 inlägg
#3

Jag gjorde som så att jag för matchade första order med preg_match och sen tog jag bort det med preg_replace.

$string "...";
$match = array();
preg_match("/^([^ ]+)/is", $string, $word_match);

$string = preg_replace("/^".$match[1]."([ ].*)".$match[1]."(.*)$/is",$match[1]."$1$2", $string);
128 ms totalt · 3 externa anrop · v20260731065814-full.b2af184d
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)