вот строка:PHP Regexp с тиром и амперсандом не работает
$test = '<a id="test">One & -Two - Three</a>';
И я хотел бы, чтобы поймать эти две строк в 2 дифферент переменные как:
$string1 = 'One & -Two';
и
$string2 = 'Three';
Итак, у меня есть preg_match_all, но у меня проблема с регулярным выражением:
preg_match_all('#([-;\w\ \.\/\'\d\(\)\&]+)+ - ([\w+\ \.\-]+)+#', $test, $matches);
Может кто-нибудь объяснить мне, почему это не работает ..? Я не вижу, которые «правило» Я не уважаю здесь ..
Вы пытаетесь получить значение из элемента HTML, используя регулярное выражение, если это так, пожалуйста, используйте dom или simple html dom – Kumar
помните, что '([-; \ w \ \. \/\ '\ d \ (\) \ &] +) +' инициирует катастрофическое обратное отслеживание, если совпадение не выполнено –
У вас также есть * * lots ** ненужных обратных косых черт, что делает вещь очень трудной для чтения ... –