|
|
|
| Вот такое дело
<?php
$var = strrpos("$str","<TBODY>");
$var2 = strrpos("$str","<a href=\"#reply_form\">");
if($var2)
{
$str = explode("<b><a href=\"#reply_form\">",$str);
echo $str[0];
}
elseif($var)
{
$str = explode("<TBODY>",$str);
echo $str[0];
}
else
{
echo $str;
}
?>
|
На локальном код пашет на ура,а вот когда заливаю на хост.То отказывается выполнятся elseif($var) .Пашет только if($var2) .Изза чего это может быть? | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 16:27)
| | Как гласит мануал?
int strrpos (string haystack, char needle)
Возвращает числовую позицию последнего вхождения needle в строке haystack.
Обратите внимание, что needle в этом случае может быть только одиночным символом.
Если строка передаётся как needle, то будет использоваться только первый символ такой строки.
|
Если у вас $str - РНР-переменная, то зачем ее в кавычки обрамлять? | |
|
|
|
|
|
|
|
для: sim5
(06.09.2007 в 16:43)
| | Ну убрал я кавычки,а проблема осталась.На локальном все ок,а на хосте траблы | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 16:50)
| | Дело не в кавычках - вы мануал прочтите внимательно! | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 16:50)
| | Откуда берётся var ? Уж не в Регистр Глобалс ли проблема ? | |
|
|
|
|
|
|
|
для: Nemezis
(06.09.2007 в 16:52)
| | $var просто переменная | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 16:50)
| | возможно, дело в том, что Ваш скрипт не отличает 0 от false.
Поскольку из текста неясно, чему равна переменная $str, трудно сказать что-то более определенное. | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2007 в 17:00)
| | Дык же на локальном пашет,и на одном хосте тоже.А на том что надо никак.
Может изза версии PHP такое быть? | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 17:01)
| | Это не из-за версии.
Это из-за скрипта.
Спрошу в лоб.
Чему равна переменная $str? | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2007 в 17:02)
| | $str это текст с тегами | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 17:06)
| | Ребята, о чем вы? Он хочет обнаружить строку с тегами, как, если определение будет идти только по первому символу? | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 17:06)
| | Вот мне и интересно, я выбью из Вас такой конкретный пример текста с тегами, который по разному обрабатывается этим скриптом на разных серверах, или нет?
Или мы так и будем из пустого в порожнее переливать? | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2007 в 17:17)
| | Trianon я поражаюсь вашему "железному" самообладанию. У меня сегодня башка раскалывается, но не уйду спать, пока не узнаю - как можно с помощью функции strrpos найти целое выражение в строке. Может мне мануал выкинуть нафик?
PS. Видимо не дождусь, и думаю вы имели ввиду не разные серверы, а разные версии РНР?
PPS. Точно башка - автор сам себе ответил уже:
автор: ruwap (06.09.2007 в 17:01)
Дык же на локальном пашет,и на одном хосте тоже.А на том что надо никак.
Может изза версии PHP такое быть? | |
|
|
|
|
|
|
|
для: sim5
(06.09.2007 в 17:34)
| | Выкладываю скрипт.Запустите у себя на локальном | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 17:47)
| | Повторяю (мануал):
int strrpos (string haystack, char needle)
Возвращает числовую позицию последнего вхождения needle в строке haystack.
Обратите внимание, что needle в этом случае может быть только одиночным символом.
Если строка передаётся как needle, то будет использоваться только первый символ такой строки.
Если needle не найден, возвращает FALSE.
Примечание: легко ошибиться с return-значениями "character found at position 0"
и "character not found". Вот как определить разницу: // в PHP 4.0b3 и новее:
$pos = strrpos($mystring, "b");
if ($pos === false) { // обратите внимание: три знака равенства
// не найден ...
}
// в версиях до 4.0b3:
$pos = strrpos($mystring, "b");
if (is_string($pos) && !$pos) {
// не найден ...
}
Если needle не строка, он конвертируется в integer и применяется как порядковое значение символа.
|
Начиная с версии 5.0.0 ограничение на один символ снято! | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 17:47)
| | Попробуйте $var и $var2 поменять местами.Увидите что текста прибавится. | |
|
|
|
|
|
|
|
для: ruwap
(06.09.2007 в 17:50)
| | Все.Спасибо Вам всем.Кажись я разобрался | |
|
|
|
|
|
|
|
для: sim5
(06.09.2007 в 17:34)
| | >Trianon я поражаюсь вашему "железному" самообладанию. У меня сегодня башка раскалывается, но не уйду спать, пока не узнаю - как можно с помощью функции strrpos найти целое выражение в строке. Может мне мануал выкинуть нафик?
Да нет. Я и вправду лоханулся.
Оставьте мануал.
Возьмите лучше водки. И отсыпаться. | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2007 в 18:02)
| | Я еще не протрезвел от пива из раздела "Разное", а водку на ночь не пью :) | |
|
|
|
|
|
|
|
для: sim5
(06.09.2007 в 18:06)
| | Я же исключительно в лечебных целях предложил :) | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2007 в 19:10)
| | Спасибо! Как видете, еще не сплю - аура "виртуального" запаха алкоголя помогает :) | |
|
|
|