Voor een analyse van input van gebruikers wil ik graag kijken naar de tags die om een bepaalde string heen liggen.
Voorbeeld:
Bij het opgeven van "dit wel" moet de regexp terugkomen met:
Dit is wat ik nu heb qua code:
Met als output:
Zoals je kan zien is de match ervoor te rigoreus en de match erna te klein. Heb me inmiddels verdiept in positive lookbacks etc maar ik kom er niet uit.
Voorbeeld:
code:
1
| En <b>deze</b> niet matchen <a href="http://www.testurl.nl/test"><b>dit wel</b></a> en dit ook niet |
Bij het opgeven van "dit wel" moet de regexp terugkomen met:
code:
en 1
| <a href="http://www.testurl.nl/test"><b> |
code:
.1
| </b></a> |
Dit is wat ik nu heb qua code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| <? $test_string = 'En <b>deze</b> niet matchen <a href="http://www.testurl.nl/test"><b>dit wel</b></a> en dit ook niet'; $string = "dit wel"; preg_match_all('/(<.*?>)'.$string.'(<\/.*?>)/',$test_string,$matches); print_r($matches); ?> |
Met als output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Array ( [0] => Array ( [0] => <b>deze</b> niet matchen <a href="http://www.testurl.nl/test"><b>dit wel</b> ) [1] => Array ( [0] => <b>deze</b> niet matchen <a href="http://www.testurl.nl/test"><b> ) [2] => Array ( [0] => </b> ) ) |
Zoals je kan zien is de match ervoor te rigoreus en de match erna te klein. Heb me inmiddels verdiept in positive lookbacks etc maar ik kom er niet uit.