Regex терпит неудачу с пробелами - PullRequest
0 голосов
/ 02 июля 2010

$ match = array ('~ (?: Face \ = [\' "]? (\ W +) [\ '"]?) ~ I', '~~ i');
$ replace = array ('font-family: $ 1;', '');

Я хочу заменить старый элемент , который имеет атрибут "face", новым элементом с атрибутом "style", но регулярное выражение всегда завершается ошибкой, когда имя шрифта в атрибуте "face" содержит пробелы Например: Курьер Новый. Как я могу изменить регулярное выражение для решения этой проблемы?

1 Ответ

0 голосов
/ 02 июля 2010

Замените ваш \w+ на .+, чтобы включить все символы, а не просто слова.Или все символы , за исключением ', например: [^\']+

Обновленная версия:

$match = array('~(?:face\=[\'"]?([^\']+)[\'"]?)~i', '~~i');
$replace = array('font-family:$1;', '<span style="$1">');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...