Я хочу, чтобы символ евро € в этом регулярное выражение, но оно не придет черезсимвол евро в PHP ereg_replace
$val = ereg_replace($regex, "[^a-zA-Z0-9[:space:][:blank:]€+-]+", $_REQUEST[$var]);
Я хочу, чтобы символ евро € в этом регулярное выражение, но оно не придет черезсимвол евро в PHP ereg_replace
$val = ereg_replace($regex, "[^a-zA-Z0-9[:space:][:blank:]€+-]+", $_REQUEST[$var]);
В свой комментарий, вы забыли разделители, необходимые preg_replace:
$string = 'ab!:;c+12,.3 €def-x/';
$string = preg_replace('/[^a-zA-Z0-9\s€+-]+/', '', $string);
echo $string,"\n";
выход:
abc+123 €def-x
Убедитесь, что набор символов, используемый текстовый редактор/IDE является изо-8859-15 (если именно поэтому вы пытаетесь отобразить).
Если это UTF-8, вам придется сделать еще один заменить специально для него (€
представлены на несколько байт, я думаю, что это не будет вписываться в [...]
регулярных выражений блока а).
BTW, ereg_replace()
был устарел в пользу preg_replace()
.
Плюс, почему у вас есть два параметра «регулярного выражения»? (Я полагаю, что $regex
содержит регулярное выражение тоже?)
Предложение (непроверенные), если то, что вы хотите сделать, это удалить € + другие символы в вашем начальном регулярное выражение:
$val = preg_replace(
array('/[^a-zA-Z0-9[:space:][:blank:]+\-]+/', '/€/'),
'',
$_REQUEST[$var]
);
ли вы MBstring Установленная? Если да, попробуйте использовать функцию mb_ereg_replace(). Он будет поддерживать этот показатель (даже в UTF-8).
Редактировать: Также проверьте, включено ли mbregex. Некоторые хосты включают mbstring, но отключает mbregex (я не знаю почему).
Ничего, я чему-то научился, спасибо. :) –
Кажется, что не на – user1209203
При попытке некоторых вариантов предложить вам просто исправлять ошибки в вашем регулярном выражении работал для меня здесь (используя preg_replace). – Phius
EREG не поддерживает юникод изначально я думаю. Время использовать preg_replace, ereg_ * не рекомендуется использовать с зимы '74. – Evert
Я уверен, что я делаю неправильно здесь $ val = preg_replace ([^ a-zA-Z0-9 [: пробел:] [: blank:] € + -] + "," ", $ _REQUEST [$ var]) – user1209203
Отсутствует «прямо после preg_replace (а также разделители/как указано ниже @ M42). – Phius