условие с ereg или substr_count

  • Автор темы Автор темы Niemand
  • Дата начала Дата начала

Niemand

Новичок
условие с ereg или substr_count

ПРиветствую. посмотрел факи, в поиске, но вроде ничего не нашел толкового. если где-то было, то извините.

сделал проверку стринга на наличие в нем сочетания 'a', на локалке работает без проблем (вариант с эрэг), гружу в нет, не работает ни то ни другое (не выполняется условие).

в чем может быть проблема?

if(ereg('\'a\'', $var)){ ... }
или
if(substr_count($var, '\'a\'')>0){ ... }
 
будь добр, приведи здесь полный код тестового скрипта.
все две строчки. С помощью которых ты точно убеждаешься, что эти функции не находят букву в переменной
 
Вот вся строка... проверял специально, что именно не выполняется:

if(ereg('\'a\'', $var)){
echo "yes1";
$var=str_replace('\'a\'', $tag2add, $var);
}else{
$var=$tag2add.$var;
}

эхо стоит только для проверки. $tag2add - переменная с урл (<a href... >), которая должна заменить 'a'.
на локалке работает все отлично, в нете выполняется else.

$var - например 'a'текст ссылки'/a'
на проверку '/a' аналогичный скрипт.
 
здесь 6 строчек.
и они не проверяют ничего.

повторяю свой вопрос.
где код, из двух строчек, который наглядно показывает, что функция не находит имеющуюся в переменной букву?

-~{}~ 05.07.07 11:26:

не надо мне на пальцах показывать "например текст ссылки".
ты можешь САМ СЕБЕ ПОКАЗАТЬ?
 
там нет никаких 2х строчек, это 2 варианта, как должно было бы работать. это 1 строка:
$var: 'a'тест ссылки'/a' (считывается из формы)
if(ereg('\'a\'', $var)){echo "yes1";$var=str_replace('\'a\'', $tag2add, $var);}else{$var=$tag2add.$var;}

что тут должно быть нагляднее, если при выводе $var после этой операции получается что-то типа
<a href=''>'a'текст сслыки.... 'a' не меняется на тэг, как на локалке.
 
там нет никаких 2х строчек
ТАК ДОЛЖНЫ БЫТЬ!
если ты проверяешь логику работы СВОЕГО кривого скрипта, то сам с ней и разбирайся.

но ты заявляешь, что не работает функция substr_count
в этом случае, у тебя должен быть код, который проверяет толко работу этой функции.
ОДИН. единственный. скрипт. из двух. строчек.

ЧТО НЕЯСНО?

-~{}~ 05.07.07 11:34:

только не надо, пожалуйста, сюда ничего писать.
писать надо в скрипт. который ты зальешь на сервер. и обратишься к нему из браузера.

а потом уже можно сюда писать

-~{}~ 05.07.07 11:38:

ты пойми, что все твои "должно быть", "выполняется else" - все это имеет отношение к логике твоего скрипта.
а не к работе функций.

у тебя не работает одно, а ты проверяешь совсем другое!
научись работать именно с тем, что тебя интересует?
не работает ereg? проверяешь ereg. А НЕ ELSE.
просто ведь, а?
 
ты не с животным разговариваешь, если можно, повежливее...

один и тот же скрипт на локале и в нете:

$var: 'a' link '/a'
echo ereg('\'a\'', $var);

ОДНА строка - хватит для проверки?

на локале вывод "1", в нете нуль (нет ответа)
 
ты не с животным разговариваешь
в меня большие сомнения закрадываются.
ОДНА строка - хватит для проверки?
нет.
я не животному уже раз 5 сказал, что строк должно быть две.
а скрипт - один. А не два, как у тебя.

вперед и с песней.

-~{}~ 05.07.07 11:45:

у тебя, кстати, тут две строки.
но в первой синтаксическая ошибка
 
если бы ты еще и читал, что пишут, я писал, что не ereg не работает, а ИМЕННО скрипт, про который и спрашиваю.. сам эрэг работает, куда бы он делся?

возможно проблема с слэшами, но ничего в факах я не нашел.
а на счет первой строки, так там вроде и знака "=" нету? значение $var передается из формуляра.
 
не обижайся, пожалуйста, на меня.
возможно, я действительно не так понял.

прочти, пожалуйста, вот текст: http://phpfaq.ru/debug#debug
там написано, что делать в твоем случае.
 
прочел. попробую изложить подробнее...

стринг из переменной $var должен пройти проверку на наличие 'a' (с апострофами) в тексте, в случае положительного ответа заменить это место на тэг со стандартным адресом, в обратном случае заключить всю фразу в тэг. на локальном сервере все так и происходит, в нете (на 2х разных хостах) проверка с ereg такое сочетание символов не распознает.
искажения символов не происходит, т.е. и до и после проверки это место 'a' остается в таком же виде, только после проверки ВЕСЬ стринг (с 'a') заключен в тэг ссылки.

отлаживать скрипты я вроде умею, потому и говорю, что проблема в месте проверки через ereg.
вопрос именно в том, почему не распознается сочетание? может я с слэшами перед апострофами намудрил?
 
ё.
там по ссылке написано "пойдите на форум и попробуйте изложить поподробнее"?
отлаживать скрипты я вроде умею,
правда?
и как же ты этот скрипт отлаживал, можно поинтересоваться?
 
заряд положительной энергией на весь день) да, смешай меня с дерьмом! :))

- проверил все переменные, ничего не теряется
- упростил до максимума (или ты думаешь, что скрипт состоит из 2х строк? ага, почти, только из 302х) - так и нашел место, которое не работает.
- каждая операция проверена до ввода и после вывода.
- каждую строчку вывел по отдельности
- с error_reporting(EALL) ошибок нет, только нотисы.

кроме того, еще раз говорю для танкистов: на локалке скрипт пашет без каких-либо проблем.
 
- проверил все переменные, ничего не теряется
- упростил до максимума (или ты думаешь, что скрипт состоит из 2х строк? ага, почти, только из 302х) - так и нашел место, которое не работает.
- каждая операция проверена до ввода и после вывода.
- каждую строчку вывел по отдельности
- с error_reporting(EALL) ошибок нет, только нотисы.
это все беллетристика.
я не вижу кода, которым ты это все проверял.
и у меня сильное подозрение, что большая часть перечисленного - твои эротические фантазии.
особенно уитывая тот факт, что ты за всю нашу длительную переписку так и не сподобился написать отладочный скрипт, и проверить все свои утверждения - начиная от ерега и заканчивая слешами.
Кто мешает тебе проверить утверждение про слеши - опять непонятно. Только твоя собственная упертость.

а про локалку по той же ссылке выше написано.

-~{}~ 05.07.07 12:30:

Заметь - все твои проблемы происходят от одного убеждения: "я все делаю правильно, а на форуме мне говорят фигню. Делать, что мне говорят, я не буду, а буду настаивать на том, что я прав. Отмажусь, на крайняк - скажу, что все делал".
Не очень конструктивная, на мой взгляд, позиция.
А, главное - совершенно непонятно, как она поможет тебе решать твои проблемы.
 
не, я сижу блин, курю бамбук и страдаю фигней... )
я же сказал, что эрег работает? а со слэшами, я в душЕ понятия не имею, как их поставить по-другому, чтобы апострофы читались. а без слэшей не выгорит ничего.

я не думаю, что мне говорят фигню, я просто не понимаю, что от меня хотят... если бы ты убрал свой гонор и не задирал нос, а русским языком сказал, что можно сделать, мне было бы проще.

кроме того, я достаточно много написал прог и скриптов, чтобы понять, что программить я не умею, потому есть много вещей, в которых я не понимаю, возможно, это одна из них.
 
спасибо за помощь.
мой косяк, не усмотрел таки кое-что. был неправ.
 
Сверху