Вытаскиваю значение

Dreamer76

Through thorns
Вытаскиваю значение

Выручайте, друзья!

<?
$my1 = $row['other']; // это значение у меня равно "http://www.moscow.ru"

$findme1 = '@';
$findme2 = 'http';
$findme3 = '-';

$pos1 = strpos($my1, $findme1);
$pos2 = strpos($my1, $findme2);
$pos3 = strpos($my1, $findme3);

if ($pos1 === true) { echo "@"; }
elseif ($pos2 === true) { echo "h"; }
elseif ($pos3 === true) { echo "-"; }
else { echo "bug"; }
?>

На странице, где вылезает значение $row['other']; = http://www.moscow.ru выдает bug :(

Где ошибка?
 

Dreamer76

Through thorns
Все прочитал 10 раз.
Не нашел бага. Все же делаю как написано! :(((

-~{}~ 21.10.04 18:53:

Все. Разобрался. strstr().
 

Dreamer76

Through thorns
;) нет. я это решил сам (ты не заметил, что я выше написал?) другим образом. через strstr().

$my1 = $row['other'];

if (strstr($my1, "@"))
echo "<li type=square>Интернет: <a href=mailto:" .$row['other']. "><font color=maroon>". $row['other'] ."</font></a>";
else if (strstr($my1, "http"))
echo "<li type=square>Интернет: <a target=_blank href=" .$row['other']. "><font color=maroon>". $row['other'] ."</font></a>";
else if (strstr($my1, "-"))
echo "нет информации";
?>

и все :cool:

-~{}~ 22.10.04 09:18:

Originally posted by Gas
Видимо мало читал.
PHP:
if ($pos1 !== false) { echo "@"; }
у меня же 3 возм. значения в одной переменной.
http, @ и -

так что простым
if ($pos1 !== false) { echo "@"; }

тут не отделаешься.
 

Gas

может по одной?
Между
PHP:
$value === true
и
PHP:
$value !== false
очень большая разница

И чем же второй вариант принципиально отлучается от первого? :)
 

Dreamer76

Through thorns
А ты подумай :) (подсказка, значений 3).
Что будет, если ему сказать "покажи одно, которое не похоже на второе" :) вылезут 2 других.

Короче, у меня работает и это.. КРУТО!
:)
 

Gas

может по одной?
Да хоть 33.

Нет никакой разницы между
PHP:
if (strstr($str, "1")) {
  echo "1";
} elseif (strstr($str, "2")) {
  echo "2";
} elseif (strstr($str, "-")) {
  echo "нет информации";
}
и

PHP:
if (strpos($str, "1") !== false) {
  echo "1";
} elseif (strpos($str, "2") !== false) {
  echo "2";
} elseif (strpos($str, "-") !== false) {
  echo "нет информации";
}
Хотя вариант со strstr конечно короче.

ещё читаем второе замечание к stsstr
 
Сверху