2010-04-12 3 views
0

Я пытаюсь догадываться charset=blablabla; и charset=blablabla" с charset=utf-8; и charset=utf-8". Пожалуйста, см. ;= и " символов, и, конечно, поиск строки может быть ниже/в верхнем регистре.Регулярное выражение со специальными символами в php

Вы можете мне помочь?

+0

В каком контексте отображаются эти фрагменты? – Gumbo

ответ

0

Вы можете попробовать что-то вроде этого.

echo preg_replace("#charset=[a-zA-Z0-9]+(\;)?#", "charset=utf-8$1", "charset=sdfsfsds"); 
1

Вы можете заменить значение что-то вроде:

$subject = 'Testing... charset=baz; and charset=bat" :-)'; 
echo preg_replace('/(?<=charset=)[a-zA-Z0-9_-]+(?=[;"])/', 'utf-8', $subject); 
// Testing... charset=utf-8; and charset=utf-8" :-) 

деконструкции, регулярные выражений матчей:

  • Точки сразу после charset= (с использованием lookbehind)
  • Последовательности одного или нескольких буквенно-цифровых символов, подчеркивания или дефиса (для замены)
  • Если за ним следует символ с запятой или двойной кавычкой
Смежные вопросы