|
|
|
|
|
для: Trianon
(25.12.2008 в 17:46)
| | Да нет, не специально, просто тупо copy/past, ну уж не думал, что к этому будут притензии. | |
|
|
|
|
|
|
|
для: ~LINA~
(25.12.2008 в 10:28)
| | это практически не отличается от
<?
$checktext = '
<a href="http://test.org/shodka">www.test.org/shodka</a>
www.cats.test.org/miu?pigs=http://dogs.test.org/
https://crocodile-admin.test.org (https://255.255.255.255:3333/hello)
';
$url_patterns = '~\b(?:[-0-9A-Za-z]+(?:\.|://))*([-0-9A-Za-z]{2,}\.(?:com?|uk|org|ru))\b~';
if(preg_match_all($url_patterns, $checktext, $regs))
{
print '<pre>';
print_r($regs);
} else print "ничего\n";
?>
|
чтото всёчто угодно слегка похожее на адрес но заканчивающееся на .com .co .uk ...
// или
'~[-0-9A-Za-z]+\.(?:com?|uk|org|ru)(?=[\s"\'/]|$)~'
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(25.12.2008 в 17:25)
| | нет в той ссылке доменного имени.
или это специально было написано? | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2008 в 11:07)
| | Trianon, не цепляйтесь к примеру, смысл моего вопроса был таков, вытащить доменные имена из текста и/или из ссылок. | |
|
|
|
|
|
|
|
для: AcidTrash
(24.12.2008 в 21:24)
| | в тексте может быть, просто domen.ru/bla или < a href=domen.ru/bla >text</a>.
Последняя ссылка - это обращение к файлу bla в каталоге domen с расширением .ru , находящемуся в том же каталоге, что и документ с такой ссылкой (в простейшем случае). | |
|
|
|
|
|
|
|
для: AcidTrash
(24.12.2008 в 21:24)
| | найденные ссылки сравниваются с массивом $bad_url который содержит как-раз ссылки вида blabla.ru , pamparam.com и тд | |
|
|
|
|
|
|
|
для: AcidTrash
(24.12.2008 в 21:24)
| | Вобще у меня есть одна корявая регулярка, которая находит кусок строки с ссылкой и потом вручную для нахождения доменных имен всё лишнее вырезается, но мне нужно это как-то исправить чтоб сразу получать доменные имена из регулярки
Вот кусок кода
$url_patterns[1] = '~((\>|>)?(href=\')?(href=\")?(www\.)?[A-Za-z0-9$_.+!*(),;/?:@&\~=-]{2,}\.(?:(?:com)|(?:co)|(?:uk)|(?:org)|(?:ru))(?:(?:[a-zA-Z0-9#$_.+!*(),;/?:@&\~=%-]&&[^\<]*))?)~';
if(preg_match_all($url_patterns[1],$checktext,$regs))
{
foreach($regs[1] as $num => $value)
{
$nwww=0;
$nhttp=0;
if (substr($value,0,4)=='>') {
$value = substr($value,4);
}
else if (substr($value,0,1)=='>') $value = substr($value,1);
$nhref = substr_count(substr($value,0,4), "href");
if ($nhref>0){
$value = substr($value,5);
$firstsymb = substr($value,0,1);
if ($firstsymb = '"' || $firstsymb = '\'') $value = substr($value,1);
}
$nhttp = substr_count(substr($value,0,4), "http");
$nwww = substr_count(substr($value,0,3), "www");
if ($nhttp>0){
$nwww = substr_count(substr($value,7,3), "www");
if ($nwww>0) {
$value = strstr($value,".");
$value = substr($value,1);
}
else {
$value = strstr($value,"//");
$value = substr($value,2);
}
}
else if ($nwww>0) {
$value = strstr($value,".");
$value = substr($value,1);
}
$slash = strpos($value,"/");
if ($slash)
{
$value = substr($value,0,$slash);
}
foreach($bad_urls as $bad_url)
{
if ($value==$bad_url){
input_badurls_indb($checktext,$bad_url);
$spam = true;
}
}
}
} | |
|
|
|
|
|
|
|
для: ~LINA~
(24.12.2008 в 18:50)
| | Хм, вы уж приведите кусок откуда надо найти. Просто не понятно, что в тексте может быть, просто domen.ru/bla или < a href=domen.ru/bla >text</a>. И кстати что хотите с ними сделать?
Короче опять шаманство. | |
|
|
|
|
|
|
|
для: ~LINA~
(24.12.2008 в 18:50)
| | тут безошибочно можно найти все адреса , если знать что в строке одни только адреса и ничего больше
вот здесь была похожая тема
http://softtime.ru/forum/read.php?id_forum=6&id_theme=46057
// кстати и правда есть такой адрес index.pl , можно зайти посмотреть , килобайт мало ;) | |
|
|
|
|
|
|
| Подскажите пожалуйста регулярное выражения для нахождения доменного имени первого и второго уровня(blabla.ru) из всех ссылок любого вида(http:blabla.ru/xfgbf/xgfbxfgb/xfgbgfb, либо http:www.blabla.ru/xfgbf/xgfbxfgb, либо www.blabla.ru/xfgbf/xgfbxfgb либо blabla.ru/xfgbf/xgfbxfgb или blabla.ru ) содержащихся в строке. | |
|
|
|
|