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

Niemand

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

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

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

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

if(ereg('\'a\'', $var)){ ... }
или
if(substr_count($var, '\'a\'')>0){ ... }
 

Фанат

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

Niemand

Новичок
Вот вся строка... проверял специально, что именно не выполняется:

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' аналогичный скрипт.
 

Фанат

oncle terrible
Команда форума
здесь 6 строчек.
и они не проверяют ничего.

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

-~{}~ 05.07.07 11:26:

не надо мне на пальцах показывать "например текст ссылки".
ты можешь САМ СЕБЕ ПОКАЗАТЬ?
 

Niemand

Новичок
там нет никаких 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' не меняется на тэг, как на локалке.
 

Фанат

oncle terrible
Команда форума
там нет никаких 2х строчек
ТАК ДОЛЖНЫ БЫТЬ!
если ты проверяешь логику работы СВОЕГО кривого скрипта, то сам с ней и разбирайся.

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

ЧТО НЕЯСНО?

-~{}~ 05.07.07 11:34:

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

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

-~{}~ 05.07.07 11:38:

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

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

Niemand

Новичок
ты не с животным разговариваешь, если можно, повежливее...

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

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

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

на локале вывод "1", в нете нуль (нет ответа)
 

Фанат

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

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

-~{}~ 05.07.07 11:45:

у тебя, кстати, тут две строки.
но в первой синтаксическая ошибка
 

Niemand

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

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

Фанат

oncle terrible
Команда форума
не обижайся, пожалуйста, на меня.
возможно, я действительно не так понял.

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

Niemand

Новичок
прочел. попробую изложить подробнее...

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

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

Фанат

oncle terrible
Команда форума
ё.
там по ссылке написано "пойдите на форум и попробуйте изложить поподробнее"?
отлаживать скрипты я вроде умею,
правда?
и как же ты этот скрипт отлаживал, можно поинтересоваться?
 

Niemand

Новичок
заряд положительной энергией на весь день) да, смешай меня с дерьмом! :))

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

кроме того, еще раз говорю для танкистов: на локалке скрипт пашет без каких-либо проблем.
 

Фанат

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

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

-~{}~ 05.07.07 12:30:

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

Niemand

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

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

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

Niemand

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