[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярка из БД
DmitryOpalev
Здравствуйте!
У меня есть регулярное выражение, работает, если писать прямо строку,
$str = "my string";
preg_match(...,...,$str,$ar)
а если писать $row['string'];, то в массив совпадений ничего не попадает. Почему такое может быть?



Спустя 47 минут, 53 секунды (25.12.2010 - 00:15) vasa_c написал(а):
Не стесняйтесь выкладывать предметный код.

Спустя 3 минуты, 14 секунд (25.12.2010 - 00:18) quickxyan написал(а):
есть и у меня вопрос по регуляркам.

как сделать поиск в строке 7 цифр которые идут подряд? мож кто знает.

пробывал вот так:


$preg = preg_match(""/([0-9]+{7})/i"","\\2 \\4",$data);

но неработает(

Спустя 1 минута, 24 секунды (25.12.2010 - 00:20) vasa_c написал(а):
попробуйте объяснить, что значит каждый значок в этой регулярке и почему она написано вне строки. Желательно в отдельной теме.

Спустя 14 часов, 38 минут, 15 секунд (25.12.2010 - 14:58) DmitryOpalev написал(а):
Вот работает:
<?php
$str = "<a href='katalog_image/4601.jpg' rel='lightbox' title='Мышь'><img src='katalog_image/4601.jpg' height='150'></a>";
preg_match(
"#<a href=\'katalog_image\/(\w+).jpg\' rel=\'lightbox\' title=\'(\w+)\'>#"
,$str,$ar);
print_r($ar);
?>

Вот не работает:
<?php
$link = mysql_connect("localhost","root","");
$link;
mysql_select_db("katalog",$link);
$query = mysql_query("SELECT * FROM ds");
while($row = mysql_fetch_assoc($query))
{
$str = $row['image'];
preg_match(
"#<a href=\'katalog_image\/(\w+).jpg\' rel=\'lightbox\' title=\'(\w+)\'>#"
,$str,$bufer);
print_r($bufer);
}
echo mysql_error();
?>

Спустя 1 час, 22 минуты, 7 секунд (25.12.2010 - 16:20) grytskiv написал(а):
Цитата (quickxyan @ 24.12.2010 - 21:18)
есть и у меня вопрос по регуляркам.

как сделать поиск в строке 7 цифр которые идут подряд? мож кто знает.

пробывал вот так:


$preg = preg_match(""/([0-9]+{7})/i"","\\2 \\4",$data);

но неработает(

рег. выражение:
![\d]{7}!

если юникод то добавить модификатор u

Спустя 3 минуты, 12 секунд (25.12.2010 - 16:23) grytskiv написал(а):
Цитата (DmitryOpalev @ 25.12.2010 - 11:58)
Вот работает:
<?php
$str = "<a href='katalog_image/4601.jpg' rel='lightbox' title='Мышь'><img src='katalog_image/4601.jpg' height='150'></a>";
preg_match(
"#<a href=\'katalog_image\/(\w+).jpg\' rel=\'lightbox\' title=\'(\w+)\'>#"
,$str,$ar);
print_r($ar);
?>

Вот не работает:
<?php
$link = mysql_connect("localhost","root","");
$link;
mysql_select_db("katalog",$link);
$query = mysql_query("SELECT * FROM ds");
while($row = mysql_fetch_assoc($query))
{
$str = $row['image'];
preg_match(
"#<a href=\'katalog_image\/(\w+).jpg\' rel=\'lightbox\' title=\'(\w+)\'>#"
,$str,$bufer);
print_r($bufer);
}
echo mysql_error();
?>

рег выражение лучше перепиши так:

"!<a[\s]*href='(?<imgUrl>katalog_image[^']+)'[^>]*>!simu"

- вот как-то так....

Спустя 30 минут, 56 секунд (25.12.2010 - 16:54) inpost написал(а):
DmitryOpalev
А ты уверен, что в БД именно так записан код без экранизации кавычек и т.д.? Просто в PHPMYADMIN зайди и проверь, они должны быть идентичными.

Спустя 1 месяц, 7 дней, 16 часов, 21 минута, 37 секунд (5.02.2011 - 09:16) samalex написал(а):
День добрый.
Вот такой вопрос.
В localhost запрос на содержание дирректории и вывод работает, а на хостинге выдает 402 ошибку.
Интересно в чем закавыка?
Может в названии файла по-русски?
Вот страница ---- http://pppi.ru/Pages/index_project_one.php?id_pr=8

Вот текст:
<?php
//Выводим список файлов из диреkтории

$afold = $project['pr_data'];
$docs = $project['pr_doc'];

$adir = "../data/$docs/";
if ($handle = opendir($adir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {

echo "<a href='../data/$docs/$file'>".$file."<br /></a >";

}
}
closedir($handle);
}

?>

Спустя 9 минут, 6 секунд (5.02.2011 - 09:25) samalex написал(а):
День добрый!
Вот такой запрос в localhost работает
на хостинге "masterhost" -- нет -402 ошибка.

страничка:
http://pppi.ru/Pages/index_project_one.php?id_pr=8

на экране справа "Документы по проекту:"

Код:
<?php
//Выводим список файлов из диреkтории

$afold = $project['pr_data'];
$docs = $project['pr_doc'];

$adir = "../data/$docs/";
if ($handle = opendir($adir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {

echo "<a href='../data/$docs/$file'>".$file."<br /></a >";

}
}
closedir($handle);
}

Может - имя файлов по русски? И как обойти эту проблему?
?>


_____________
Курс валют
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.