No ending delimiter found

No ending delimiter found

I’ve been having some trouble with regular expressions.

This is my code

I run it and get:

Warning: preg_match() [function.preg-match]: No ending delimiter ‘^’ found in

3 Answers 3

PHP regex strings need delimiters. Try:

Also, note that you have a lower case o, not a zero. In addition, if you’re just validating, you don’t need the capturing group, and can simplify the regex to /^d+$/ .

we are receiving this error:

Warning: preg_match(): No ending delimiter ‘^’ found in /home/goose/public_html/wp-content/themes/goose/partials/contact.php on line 32 Please enter a valid email address

http://thegoosedarien.com — using the contact form, we receive this error message when submitting.

No idea how to resolve this. What is missing from the code?

1 Answer 1

I usually try to avoid using preg_match() , because I get the pattern right very rarely. Perhaps you could try using some other functions to do the validating. For example PHP’s ctype_alnum() for the name field and WP’s is_email() for the email field. Like so,

Also, if you want to make the wp_mail() function a little bit more readable, you could do something like this,

Информационный блог, SEO, софт, баги, интернет делишки

Писал небольшой скриптик на PHP и вот возникла данная проблема. Появляется ошибка
No ending delimiter ‘�’ found in . В чем заключалась ошибка и как ее профиксить?

Имеется скрипт, который считывает в массив регулярные выражения из файла txt.

$fp = fopen("sys/01.txt", "r");
$content = ‘1-2-3’;
if ($fp)
<
while (!feof($fp))
<
$pattern[] = fgets($fp, 999);
>
>
else echo "Ошибка при открытии файла";
fclose($fp);

И вот на данном фрагменте и возникает ошибка:

preg_match_all($pattern[0], $content, $link);
print_r($link);

Читайте также:  Fvd speed dial для opera

На одном из форумов прочел реплику по поводу ошибки: "В ошибке сказано, что у вас нет закрывающего разделителя (delimiter)."

И вот в чем дело. Файлик с регулярными выражениями сохранен в UTF-8, Тоесть при считывании строки $pattern[] = fgets($fp, 999); в переменную заносится строка (например / ]+>/) вместе с BOM символами .

Тоесть / ]+>/ �, при этом функция preg_match_all расценивает данный символ как модификатор и выдает ошибку.

Поэтому сохраняем файлик без BOM.
если сохраните с ним, то на файлах, где также есть сессии или заголовки, будет ошибка.

Ссылка на основную публикацию
Adblock detector