PHP удаляет текст из результата preg_match - PullRequest
0 голосов
/ 29 октября 2009

Здравствуйте, я использую preg_match для анализа данных, он работает 99% времени, но иногда он дает мне такой результат, как:

$match[1] = <a href="example">text i want</a>

когда то, что я действительно хочу, это строка "text i want". Я зацикливаю preg match и 99% времени $ match [1] дает мне текстовую строку, которую я хочу, но я хочу внедрить что-то в код, такой как

if($match[1] is of the form <a href="example">blah blah</a>){
$match[1] = "blah blah" }

Как мне добиться этого? Спасибо за чтение.

Ответы [ 2 ]

2 голосов
/ 29 октября 2009

Если вы пытаетесь получить данные между тегами HTML, используйте анализатор HTML. При синтаксическом анализе HTML НЕ используется метод регулярных выражений, поскольку он не всегда достаточно последовательный, чтобы совпадения с регулярными выражениями были надежными.

0 голосов
/ 27 ноября 2009

Если вы хотите получить текст внутри тега html, попробуйте следующий код.

$string = '<a href="example">text i want</a>';
$string = strip_tags($string);
echo $string; //Outputs "text i want"
...