Situatie
Ik heb lange teksten (jurisprudentie) in platte tekst met verwijzingen naar elkaar. Ik wil de verwijzingen klikbaar maken. De verwijzen hebben het volgende format:
)
De volgende stap..
Ik wilde de volgende code gebruiken om de nummers in de tekst om te bouwen naar links (link.php?nummer=$nummer)
http://php.net/manual/en/function.preg-match-all.php#92312
Ik heb toen de volgende code gerpobeerd
Deze werkte niet, dat komt wellicht omdat de match zoekt naar de verschillende onderdelen. De volgende code - waarbij ik de expressie heb proberen om te bouwen tot één set - doet echter ook niets
Wie ziet de fout in mijn regular expression?
Als er een makkelijkere manier is, dan hoor ik dat natuurlijk ook graag :-).
Edit@NMe
De reg_smart_replace functie (waar ik ook de link naartoe opgenomen had)
Ik heb lange teksten (jurisprudentie) in platte tekst met verwijzingen naar elkaar. Ik wil de verwijzingen klikbaar maken. De verwijzen hebben het volgende format:
- C of T
- -
- 1 - 3 cijfers
- /
- 2 cijfers
PHP:
1
| preg_match('#^(.)-(\d{1,2,3})/(\d{2})$#', $case_number, $case_number_info); |
De volgende stap..
Ik wilde de volgende code gebruiken om de nummers in de tekst om te bouwen naar links (link.php?nummer=$nummer)
http://php.net/manual/en/function.preg-match-all.php#92312
Ik heb toen de volgende code gerpobeerd
PHP:
1
| $urltekst = reg_smart_replace('#^(.)-(\d{2,3})/(\d{2})$#', '<a href="link.php?nummer=$$$">$$$</a>', $tekst); |
Deze werkte niet, dat komt wellicht omdat de match zoekt naar de verschillende onderdelen. De volgende code - waarbij ik de expressie heb proberen om te bouwen tot één set - doet echter ook niets
PHP:
1
| $urltekst = reg_smart_replace('#^(.-\d{1,2,3}/\d{2})$#', '<a href="link.php?nummer=$$$">$$$</a>', $tekst); |
Wie ziet de fout in mijn regular expression?
Als er een makkelijkere manier is, dan hoor ik dat natuurlijk ook graag :-).
Edit@NMe
De reg_smart_replace functie (waar ik ook de link naartoe opgenomen had)
Using preg_match_all I made a pretty handy function.
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function reg_smart_replace($pattern, $replacement, $subject, $replacementChar = "$$$", $limit = -1) { if (! $pattern || ! $subject || ! $replacement ) { return false; } $replacementChar = preg_quote($replacementChar); preg_match_all ( $pattern, $subject, $matches); if ($limit > -1) { foreach ($matches as $count => $value ) { if ($count + 1 > $limit ) { unset($matches[$count]); } } } foreach ($matches[0] as $match) { $rep = ereg_replace($replacementChar, $match, $replacement); $subject = ereg_replace($match, $rep, $subject); } return $subject; }
This function can turn blocks of text into clickable links or whatever. Example:
PHP:
1 reg_smart_replace(EMAIL_REGEX, '<a href="mailto:$$$">$$$</a>', $description)
will turn all email addresses into actual links.
Just substitute $$$ with the text that will be found by the regex. If you can't use $$$ then use the 4th parameter $replacementChar
[ Voor 31% gewijzigd door pietje63 op 13-04-2016 12:09 ]
De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!