[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_match
Jimmbo
preg_match("/".$search."/", $serp[title]

В БД записано - "Ромкор".
Ввожу "Ромкор", условие - TRUE.
Ввожу "ромкор", условие - False.

Как сделать, чтобы это было регистро-независимым?



Спустя 6 минут, 2 секунды (23.04.2012 - 10:45) forza написал(а):
$pattern = "Some pattern goes here";
$search = "Word";
preg_match("#$pattern#i", $search);

Модификатор "i" обозначает, что регистр символов не важен

Спустя 9 минут, 38 секунд (23.04.2012 - 10:55) Jimmbo написал(а):
preg_match("#".$search."#i", $serp[title]

В $serp[title] строка, а в $search запрос.
И все равно не находит без регистра...

Спустя 11 минут, 57 секунд (23.04.2012 - 11:06) forza написал(а):
Цитата (Jimmbo @ 23.04.2012 - 08:55)
preg_match("#".$search."#i", $serp[title]

В $serp[title] строка, а в $search запрос.
И все равно не находит без регистра...

Вам нужно найти совподение подстроки в строке?
Запрос куда?

Спустя 3 минуты, 23 секунды (23.04.2012 - 11:10) Jimmbo написал(а):
forza, в $serp[title] названиЯ (Астра-Металл). А в $search слово (астра).

Спустя 37 минут, 23 секунды (23.04.2012 - 11:47) forza написал(а):
$search = 'астра';
$serp['title'] = 'Астра-Металл';
echo preg_match("#$search#ui", $serp['title']) ? "We got it!" : "Oups!";


У меня выводит "We got it" => следовательно истина.

Спустя 9 минут, 20 секунд (23.04.2012 - 11:57) Jimmbo написал(а):
if(preg_match("/".$search."/i", $serp[title]))
{
echo "".$serp[title]."<br>";
}
else
{
echo "Не найдено релевантных ответов по вашему запросу.";
}


Oups! - у меня.

Спустя 1 час, 6 минут, 50 секунд (23.04.2012 - 13:03) forza написал(а):
$serp['title'] != $serp[title] !

Спустя 20 минут, 15 секунд (23.04.2012 - 13:24) killer8080 написал(а):
Jimmbo
preg_match('#'.preg_quote($search, '#').'#i', $serp['title']);

Спустя 16 минут, 7 секунд (23.04.2012 - 13:40) Jimmbo написал(а):
if(preg_match('#'.preg_quote($search, '#').'#i', $serp['title']))
{
echo "".$serp[title]."<br>";
}
else
{
echo "Не найдено релевантных ответов по вашему запросу.";
}

killer8080, блин, тоже не хочет что-то.

Спустя 27 минут, 44 секунды (23.04.2012 - 14:08) forza написал(а):
Jimmbo, покажите, что, к примеру, содержит каждая из переменных

Спустя 2 минуты, 46 секунд (23.04.2012 - 14:10) Jimmbo написал(а):
http://r-pse.ru/ - пример страницы.
В title ООО Ромкор. В search - тот запрос, который вы вводите.

Спустя 1 час, 26 минут, 2 секунды (23.04.2012 - 15:36) forza написал(а):
У меня не открывается ссылка

Спустя 14 минут, 59 секунд (23.04.2012 - 15:51) Jimmbo написал(а):
Цитата (forza @ 23.04.2012 - 13:36)
У меня не открывается ссылка

Поправил.

Спустя 11 минут, 43 секунды (23.04.2012 - 16:03) forza написал(а):
Покажите больше скрипта. Может загвоздка в другом месте.

Спустя 3 минуты, 45 секунд (23.04.2012 - 16:07) Jimmbo написал(а):
<?php
session_start();
include("config.php");
?>

<html>
<
head>
<
meta http-equiv='Content-Type' Content='text/html; Charset=Windows-1251'>
<
title><? if (isset($_POST['search'])) { $title_serp = $_POST['search']; if ($title_serp == '') { unset($title_serp);} } if (isset($title_serp)) {echo "".$_POST['search']." - "; } ?>Белый каталог предприятий</title>
<
link type='text/css' rel='StyleSheet' href='/css/style.css' />
<
LINK REL='SHORTCUT ICON' href='/images/favicon.png'>
</
head>

<
body>

<? include("header.php"); ?>

<?

if(isset($_POST['submit'])) {
if (isset($_POST['search'])) { $search = $_POST['search']; if ($search == '') { unset($search);} }
if (isset($_POST['type'])) { $type = $_POST['type']; if ($type == '') { unset($type);} }
// Обработка

$connect = mysql_query("Select * from cards ORDER BY rating") or die(mysql_error());
echo "<br>
<table style='width: 100%; border-collapse: collapse; '>
<tbody>
"
;

while ($serp = mysql_fetch_assoc($connect))
{
if (($type <= 1) || ($type > 6))
{
$serp_cont = $serp['title'];
}

if ($type == 2)
{
$serp_cont = $serp['desc'];
}

if ($type == 3)
{
$serp_cont = $serp['inn'];
}

if ($type == 4)
{
$serp_cont = $serp['call'];
}

if ($type == 5)
{
$serp_cont = $serp['activities'];
}

if ($type == 6)
{
$serp_cont = $serp['address'];
}

if(preg_match('#'.preg_quote($search, '#').'#i', $serp_cont))
{
$i = $i + 1;
echo "
<tr>
<td style='padding-left: 15px; width: 35px; text-align: left; vertical-align: top; letter-spacing: 0px; word-spacing: 0px; '>
"
.$i."
</td>
<td style='padding-left: 100px; text-align: left; vertical-align: top; letter-spacing: 0px; word-spacing: 0px; '>
<a href='...' class='serp'>"
.$serp['title']."</a>
</td>
</tr>
<tr>
<td>
<br>
</td>
<td style='padding-left: 100px; text-align: left; vertical-align: top; letter-spacing: 0px; word-spacing: 0px; '>
"
.$serp[desc]."
</td>
</tr>
"
;
}
else
{
echo "<table style='width: 100%; border-collapse: collapse;'>
<tbody>
<tr>
<td style='text-align: left; padding-left: 145px; vertical-align: top; letter-spacing: 0px; word-spacing: 0px; '>Не найдено релевантных ответов по вашему запросу.</td>
</tr>
</tbody>
</table>"
;
}
}

echo "
</tbody>
</table>
"
;

// Обработка
}
?>

</body>

</
html>

Я понимаю, когда вообще не работает, но она ищет же
точные вхождения... :unsure:

Спустя 51 минута, 27 секунд (23.04.2012 - 16:58) forza написал(а):
Для поиска в базе данных есть функция LIKE.
Пример:
 SELECT * FROM TableName WHERE fieldName LIKE '%Some text%'
. Почитайте про нее.
П.С. Сожгите курсы Попова и никогда не возвращайтесь к ним.


_____________
Оскорбления — это обычные доводы тех, кто неправ @ Жан-Жак Руссо
Быстрый ответ:

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