array_keys expects parameter 1 to be array null given in //// function.php invalid argument supplied for foreach //// function.php preg replace() [fucntion.preg-replace]: Empty regular expression //// function.php http://pastebin.com/z5vebigr - function.php
Первый параметр array_keys должен быть массивом, а не NULL-строкой. То же самое, невалидный аргумент в ф-ции foreach... Пустая регулярка в preg_replace... А дальше сам копай... Это файл из vBulletin... И чтобы проверить эти все функции там, и почему им подаются некорректные параметры, одного function.php недостаточно.
Как записать регулярку если предпологаются все языки: PHP: if(!preg_match("/^[a-zA-Zа-яА-я0-9]{1,30}$/",$name)) Строка содержащаяся в переменной name в кодировке utf8_bin
Это максимум что можно сделать. Разве что разрешить вообще все возможные символы: PHP: if(!preg_match("/^(.*){1,30}$/",$name)) но думаю проще будет поставить: PHP: if(strlen($name) !== 30)
domenz PHP: preg_match('~^\w{1,30}$~ui', $in, $out); Символ \w указывает на символы составляющие слово (в том числе разнообразные буквы с диакритикой (закорючками)), модификатор "u" показывает, что следует искать UTF-8 символы OnlyOn strlen от строки и длина значащих букв в UTF-8 понятия разные
Судя по всему автору просто надо проверить количество символов в строке... Хотя не прав мб) Там кстати не нужно выход проверять ($out), он же его в if() запихнул
OnlyOn встретив двусмысленность - отбрось искушение угадать (с) Автор ничего не написал про: что, зачем и почему ему нужно. Два вопроса - Где это написано? Как с помощью preg_match "проверять" выход?
Ответы: в строчке кода автора вопроса =) Там описана только входная строчка, а выход ему не надо. Извиняюсь. Имел ввиду входной текст без получения результата на выход.
всем привет есть такая строка $str = 'ssss5sssssss55ss5s5s55s'; как узнать сколько (s) и сколько (5)?
спасибо, пойду пробовать, возникла ещо одна маленькая проблемка вот код страницы PHP: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Style-Type" content="text/css" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Spaces/Лента</title> <style type="text/css"> body{font-weight:normal;font-size:medium;font-family:Arial;background-color:#ffffff;margin:0px auto;padding:0px;color:#000000;text-align:left;max-width:500px} a:link,a:visited{color:#006699} a:visited{color:#666666;} a:hover{color: #ff0000;text-decoration: underline} a img{border: 0px;} div.row3{padding:3px;background-color:#e1e1e1} div.row4{padding:3px;background-color:#ffffff} div.blueline{padding:3px;background-color:#e7f1fe;border-top:1px solid #99ccff;border-bottom:1px solid #AFCDDC} div.busi{padding:3px;background-color:#fff9d7;border-top:1px solid #e2c822;border-bottom:1px solid #e2c822} div.backlink{background-color:#EFF3F6;padding:2px} div.block{margin:2px;padding:1px;border-top:1px dotted gray;border-bottom:1px dotted gray} div.title{padding:3px;background-color:#d7ddf8;border-bottom:1px dotted #AFCDDC} div.odd{padding:3px;background-color:#edeff4;border-top:1px dotted #CCC} div.even{padding:3px;background-color:#fff;border-top:1px dotted #CCC} div.blue{padding:3px;background-color:#e7f1fe;border-top:1px dotted #99ccff} #pnavi {padding:3px;background-color:#d3d3d3;border-top:1px solid #999} #pnavi a:link,#pnavi a:visited,#pnavi a:active {text-decoration:none} #pnavi a:focus,#pnavi a:hover,#pnavi a:active {background-color:#fff} div.main { border-left: 1px solid #999999; border-right: 1px solid #999999; background-color: #ffffff; } #header_path{border-left:1px solid #abbefb;border-right:1px solid #abbefb;border-bottom:1px solid #abbefb;border-left: 1px solid #999999;border-right: 1px solid #999999;background:#E7F1FE;margin:0px;padding:3px} #footer_path{border-left:1px solid #abbefb;border-right:1px solid #abbefb;border-left: 1px solid #999999;border-right: 1px solid #999999;background:#E7F1FE;margin:0px;padding:3px} #header_path a:link,#header_path a:visited,#footer_path a:link,#footer_path a:visited {text-decoration:none} #reklama{ background-color:#ccddee; border-left: 1px solid #999999; border-right: 1px solid #999999; border-top:1px solid #6699cc; border-bottom:1px solid #6699cc; padding:2px; } .block_hr {border-bottom:1px dotted #abbefb} .block_hrs {padding:2px;border-bottom:1px solid #999999;width:120px;} span.page {margin:2px;padding:1px;border:1px solid #e0e0e0} span.page_is {margin:2px;padding:1px;border:2px solid #339933} a.icolink {vertical-align: middle} img.icon {vertical-align: middle} .clear{ clear:both} #navi {color:#9999ff;font-size:small;padding:4px 2px 5px 4px;background-color:#aec6dc;border: 1px solid #abbefb;border-left: 1px solid #999999;border-right: 1px solid #999999} #navi a:link,#navi a:visited {color:#003366;text-decoration:none;font-size:small} #navi a:focus,#navi a:hover,#navi a:active {color:#3b5998;background-color:#fff} #time {color:#000;font-size:small;} .newevent {color:#ff0000;font-size:small;} </style> </head><body><div id="navi"><a href="http://spaces.ru/mysite/?sid=7020582082684759&link_id=">Дом</a> | <a href="http://spaces.ru/mail2/?sid=7020582082684759&link_id=">Почта</a> | <a href="http://spaces.ru/journal/?jsort=2&filter=4&sid=7020582082684759&link_id=">Жур</a> | <a href="http://spaces.ru/lenta/?sid=7020582082684759&link_id=">Лента<span class="newevent">(200)</span></a><br/><div id="time"">16:11:33 MSK</div></div><div id="header_path"><a href="http://spaces.ru/m/?sid=7020582082684759">Spaces</a>/<a href="http://spaces.ru/lenta/?sid=7020582082684759">Лента</a></div><div class="main">Вы зашли из необычного места. Убедитесь, что вы действительно находитесь на Spaces.ru.<br/>Чтобы продолжить, введите последние 4-ре цифры вашего номера:<br/><span style="color:green">+7925148 . . . .</span><br/><form method="POST" action="http://spaces.ru/mysite/?sid=7020582082684759"><input type="hidden" name="sid" value="7020582082684759"/><input type="hidden" name="name" value=""/><input type="text" name="pn_nums" size="4" value=""/> <input type="submit" value="Ввести"/></form><div class="busi"><span style="color:darkred;font-size:small">Если вы не помните свой номер, можете обратиться в Support.</span></div><div class="backlink"><img src="/img/Back.gif" alt=""/><a href="http://spaces.ru?sid=7020582082684759&logout=1">Выход</a></div></div><div id="reklama"><img src="/img/reklama.gif" alt=""/><br/> <div style="text-align:center"><a href="http://partners.erwap.ru/?nato">Партнерская программа нового поколения</a><br/><a href="http://up.erwap.ru/?nato">Как не платить за телефон!</a></div></div><div id="footer_path"><a href="http://spaces.ru/m/?sid=7020582082684759">Spaces</a>/<a href="http://spaces.ru/lenta/?sid=7020582082684759">Лента</a></div><div id="navi"><a href="http://spaces.ru/?online_help=1&sid=7020582082684759&link_id="><span style="color:#009933">Помощь</span></a> | <a href="http://spaces.ru/mysite/?name=Veetoz&sid=7020582082684759&link_id=">Дом</a> | <a href="http://spaces.ru/favorites/?name=Veetoz&sid=7020582082684759&link_id=">Закл</a> | <a href="http://spaces.ru/forums/?sid=7020582082684759&link_id=">Фор</a> | <a href="http://spaces.ru/diaries/?sid=7020582082684759&link_id=">Дн-ки</a> | <a href="http://spaces.ru/chat/?sid=7020582082684759&link_id=">Чат</a> | <a href="http://spaces.ru/mysite/?mycomm=1&name=Veetoz&sid=7020582082684759&link_id=">Соо</a> | <a href="http://spaces.ru/shared_zone/?sid=7020582082684759&link_id=">ЗО</a> | <a href="http://spaces.ru/settings/?sid=7020582082684759&change=14&link_id=">+</a></div><div class="row4"><script type="text/javascript" src="http://mobtop.ru/c/16.js"></script><noscript><a href="http://mobtop.ru/in/16"><img src="http://mobtop.ru/16.gif" alt="MobTop - top mobile rating"/></a></noscript></div> </body> </html> нужно спарсить ксс я делаю ето так PHP: preg_match_all("/<style type=\"text\/css\">(.*?)([.\n]+)<\/style>/s",$doc,$goom); парсит та всё но некоторые части пропускает вот PHP: <style type="text/css"> body{font-weight:normal;font-size:medium;font-family:Arial;background-color:#ffffff;margin:0px auto;padding:0px;color:#000000;text-align:left} a:link,a:visited{color:#006699} a:visited{color:#666666;} a:hover{color: #ff0000;text-decoration: underline} a img{border: 0px;} .main{} div.row3{padding:1px;background-color:#e1e1e1} div.row4{padding:1px;background-color:#ffffff} div.backlink{background-color:#EFF3F6;padding:2px} div.blueline{padding:1px;background-color:#e7f1fe;border-top:1px solid #99ccff;border-bottom:1px solid #AFCDDC} div.block{margin:2px;padding:1px;border-top:1px dotted gray;border-bottom:1px dotted gray} div.busi{padding:2px;background-color:#fff9d7;border-top:1px solid #e2c822;border-bottom:1px solid #e2c822} div.title{padding:3px;background-color:#d7ddf8;border-bottom:1px dotted #AFCDDC} div.odd{padding:1px;background-color:#edeff4;border-top:1px dotted #CCC} div.even{padding:1px;background-color:#fff;border-top:1px dotted #CCC} div.blue{padding:3px;background-color:#e7f1fe;border-top:1px dotted #99ccff} #pnavi {padding:3px;background-color:#d3d3d3;border-top:1px solid #999} #pnavi a:link,#pnavi a:visited {text-decoration:none} #pnavi a:focus,#pnavi a:hover,#pnavi a:active {background-color:#fff} div.main { } #header_path{border-left:1px solid #abbefb;border-right:1px solid #abbefb;border-bottom:1px solid #abbefb;border-left: 1px solid #999999;border-right: 1px solid #999999;background:#e8e8e8;margin:0px;padding:3px} #footer_path{border-left:1px solid #abbefb;border-right:1px solid #abbefb;border-left: 1px solid #999999;border-right: 1px solid #999999;background:#e8e8e8;margin:0px;padding:3px} #header_path a:link,#header_path a:visited,#footer_path a:link,#footer_path a:visited {text-decoration:none} #reklama{ background-color:#ccddee; border-left: 1px solid #999999; border-right: 1px solid #999999; border-top:1px solid #6699cc; border-bottom:1px solid #6699cc; padding:2px; } .block_hr {border-bottom:1px dotted #abbefb} .block_hrs {padding:2px;border-bottom:1px solid #999999;width:120px;} span.page {margin:2px;padding:1px;border:1px solid #e0e0e0} span.page_is {margin:2px;padding:1px;border:2px solid #339933} a.icolink {vertical-align: middle} img.icon {vertical-align: middle} .clear{ clear:both} #navi {color:#9999ff;font-size:small;padding:4px 2px 5px 4px;background-color:#aec6dc;border: 1px solid #abbefb;border-left: 1px solid #999999;border-right: 1px solid #999999} #navi a:link,#navi a:visited {color:#003366;text-decoration:none;font-size:small} #navi a:focus,#navi a:hover,#navi a:active {color:#3b5998;background-color:#fff} #time {color:#000;font-size:small;} .newevent {color:#ff0000;font-size:small;} </style> как исправить штоб парсил всё и ничего не пропускал?
@qaz Code: /<style.*>(.*)<\/style>/Uis Тема регулярок по соседству http://forum.antichat.ru/threadnav92492-1-10.html
PHP: <? $html = file_get_contents('http://forum.antichat.ru'); preg_match_all('/<style.*>(.*)<\/style>/Uis', $html, $matches); var_dump($matches);
PHP: $array = array("1cd6c7f718f49fc202df7bfdc695eeae911770b1"); echo array_search("1cd6c7f718f49fc202df7bfdc695eeae911770b1", $array); Почему выдаёт false
geforse это не False а ноль, очевидно, что массивы нумеруются начиная с нулевого элемента. Следует внимательно читать варнинги в документации:
PHP: $array = array("1cd6c7f718f49fc202df7bfdc695eeae911770b1"); echo (array_search("1cd6c7f718f49fc202df7bfdc695eeae911770b1", $array)) ? "нашлось" : "не нашлось"; // не нашлось Gifts, не пойму как эта функция работает)
http://php.net/manual/ru/function.array-search.php Перевод поста Giftа Необходимо сравнить PHP: echo (array_search("1cd6c7f718f49fc202df7bfdc695eeae911770b1", $array) !== false) ? "нашлось" : "не нашлось";