помогите добавить условия для функции strpos [php]

U
На сайте с 24.02.2009
Offline
116
867

$frazapoisk = "регистрация ооо в уфе&where=any&num=10&rch=e&sf=10";

convert_cyr_string ($frazapoisk, "w", "i");
$str = substr($frazapoisk, 0, strpos($frazapoisk, '&'));
echo $str;

возвращает регистрация ооо в уфе

а если

$frazapoisk = "регистрация ооо в уфе";

то возвращает ничего - как сделать чтобы возвращало регистрация ооо в уфе

т.е если нету в переменой (&....любые слова буквы) то чтоб возвращалось все

TF-Studio
На сайте с 17.08.2010
Offline
334
#1

ну так сделайте сначала проверку, есть ли в строке '&'

а потом уже по условию выбирайте.

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
siv1987
На сайте с 02.04.2009
Offline
427
#2

Как вариант юзать explode

сделать условие уже посоветовали выше

$occ = strpos( $frazapoisk, '&' );

if( $occ ) $frazapoisk = substr( $frazapoisk, 0, $occ );

P
На сайте с 03.12.2008
Offline
38
#3

<?php

$frazapoisk = "регистрация ооо в уфе&where=any&num=10&rch=e&sf=10";
preg_match('/^[^&]+/', $frazapoisk, $res);
print_r($res);
TF-Studio
На сайте с 17.08.2010
Offline
334
#4

Подсказка: Не используйте функцию preg_match(), если необходимо проверить наличие подстроки в заданной строке. Используйте для этого strpos() либо strstr(), поскольку они выполнят эту задачу гораздо быстрее.

http://www.php.su/functions/?preg_match

wwwwww
На сайте с 29.04.2011
Offline
195
#5
ufaclub:
т.е если нету в переменой (&....любые слова буквы) то чтоб возвращалось все

ТС, не ищите легких путей, пользуйтесь


$frazapoisk = "регистрация ооо в уфе&where=any&num=10&rch=e&sf=10";
convert_cyr_string ($frazapoisk, "w", "i");
$str = substr($frazapoisk, 0, ( ($tmp_spos = strpos($frazapoisk, '&')) >0) ? $tmp_spos : strlen($frazapoisk));
echo $str;
Видишь? Свободная подпись.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий