Toon posts:

[php] overeenkomende strings in string zoeken (deel2)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Aangezien het vorige topic ivm offtopic is gesloten. Het lukt nog niet. Ik heb '|U' toegevoegd, maar dan geeft het toch niet helemaal goede outputs. Zo wordt soms toch tekst getoond die na [/LINKID] staan.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Daar staat ook de oplossing trouwens.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
dusty schreef op 31 juli 2002 @ 22:03:
Daar staat ook de oplossing trouwens.
Maar het probleem is dus dat het niet helemaal goed werkt..

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Haal die |U weg. De ? in de regexp zorgt al voor de non-greedyness. Ik denk dat je op zoek bent naar hoofdletter-ongevoeligheid. Hiervoor moet je de 'i' modifier gebruiken:

PHP:
1
preg_match_all("|\\\[linkid=([0-9]+)\\](.*?)\\\[/id\\]|i", $text, $matches)


Zie voor meer informatie:
http://www.php.net/manual/en/pcre.pattern.modifiers.php en
http://www.php.net/manual/en/function.preg-match-all.php

Verwijderd

Topicstarter
YEss...., ik heb alles nu aan de praat..!

Alleen zou het ook wel erg mooi zijn als een link niet 2 keer of vaker in de lijst voorkomt. Valt er dus ook nog te checken in de array op dubbele id's en deze verwijderen?

Verwijderd

Topicstarter
Dat kan dus heel simpel met de functie array_unique(), maar hoe kan ik de index van de array weer resetten, dus dat alles weer op eenvolgend is? Dus dat de index van de laatste gelijk is aan het aantal elementen-1.

  • p0m
  • Registratie: September 2000
  • Laatst online: 22-08 07:02

p0m

Verwijderd schreef op 31 juli 2002 @ 22:51:
Dat kan dus heel simpel met de functie array_unique(), maar hoe kan ik de index van de array weer resetten, dus dat alles weer op eenvolgend is? Dus dat de index van de laatste gelijk is aan het aantal elementen-1.
Daarvoor kan je array_values gebruiken, of foreach om door de array te gaan.
Pagina: 1