читается как - удалить из текста все ссылки и их анкоры.
Если не то, то сформулируйте правильно постановку задачи.
Вот еще дополнение, которые описывает уточнения вашей задачи:
$text = preg_replace('#<a((?!</a>).)*</a>#is', '', $string);
if (preg_match('#'.$template.'#i', $text)) {
echo $template." есть ВНЕ ссылки";
} else {
echo $template." не встречается ВНЕ ссылки";
}
удалять ссылки и анкоры не нужно, только поиск.
/<a.*?>(.*?)<\/a.*?>/ - это поиск ссылки, а тут задача обратная, поиск НЕссылки без модификации и удаления существующих ссылок.
т.е. в этой строке "<a href="http://site.ru">это ссылка</a> это не ссылка" ищется текст "это не ссылка" вне тега <a>. другие ссылки не должны быть модифицированы.
p.s.
если мы находим "это не ссылка" - мы делаем из него ссылку на другую страницу(preg_replace("reg_ex", "<a href=\"http://site.ru\">\\1</a>", $text)), но этот текст уже может быть внутри <a>, в этом случае мы его трогать не должны, иначе получится <a href="http://site.ru><a href="http://site.ru>это не ссылка</a></a>
stealthy: Постановка задачи некорректна, т.к. вы не пишете чем блок текста ограничен у вас справа. Если у вас там конец строки, например, то:
$str =~ /<A [^>]+>(.*?)$/si;
поместит все что после вашей ссылки в $1 (Perl, но в ПХП все примерно то же самое). Если у вас справа не конец строки а что-то другое, то вместо доллара вы рисуете регекс на правую часть, а все что между левой и правой известными частями - будет ваш искомый блок.
пример строк:
$string = '<a href="http://site.ru">это ссылка</a> это не ссылка';
$string = '<a href="http://site.ru">это ссылка</a> это не ссылка ';
т.е. может быть и конец строки и не конец. искаться будет не весь текст, что не является ссылкой (анкором ссылки), а лишь некоторое совпадение с искомым значением (например $template = "это не ссылка")
>>$str =~ /<A [^>]+>(.*?)$/si;
думаю, что правильно записал, но работать не захотело. preg_replace("/<A [^>]+>(.*?)$/si/","123",$str);
Здрасьте. А если я на карточку получил, то что? В этом случае налоги тоже уже уплочены (то бишь удержаны) (речь о наёмнике, а не о директоре, который этим должен распоряжаться, естественно).
да, если на и карточку налоги уже удержаны. НДФЛ удерживается всегда (если это не чёрный нал и официальное офомление), и у директора и у любого работника. если компания не заплатит налоги, скорее всего у директора вскоре пропадёт спокойный сон
регистрируете ИП, покупаете кассу, ставите её на учёт в налоговой и вперёд. (кассу потом периодически нужно будет показывать мастеру (там, где покупали), и платить за её обслуживание (диагностику)
Не хотел писать негатива о Вашей компании, даже после того как вы недели 2 назад мне "уронили" репутацию на форуме, но сейчас решил что надо донести правду до народа.
Решение Вашей задачи в обобщенном виде:
echo preg_replace('#<a((?!</a>).)*</a>#is', '', $string);
читается как - удалить из текста все ссылки и их анкоры.
Если не то, то сформулируйте правильно постановку задачи.
Вот еще дополнение, которые описывает уточнения вашей задачи:
$text = preg_replace('#<a((?!</a>).)*</a>#is', '', $string);
if (preg_match('#'.$template.'#i', $text)) {
echo $template." есть ВНЕ ссылки";
} else {
echo $template." не встречается ВНЕ ссылки";
}
удалять ссылки и анкоры не нужно, только поиск.
/<a.*?>(.*?)<\/a.*?>/ - это поиск ссылки, а тут задача обратная, поиск НЕссылки без модификации и удаления существующих ссылок.
т.е. в этой строке "<a href="http://site.ru">это ссылка</a> это не ссылка" ищется текст "это не ссылка" вне тега <a>. другие ссылки не должны быть модифицированы.
p.s.
если мы находим "это не ссылка" - мы делаем из него ссылку на другую страницу(preg_replace("reg_ex", "<a href=\"http://site.ru\">\\1</a>", $text)), но этот текст уже может быть внутри <a>, в этом случае мы его трогать не должны, иначе получится <a href="http://site.ru><a href="http://site.ru>это не ссылка</a></a>
в обобщённом виде задача описана в первом посте: найти в строке текст, который не находится внутри тега <a>. дан пример строки.
ведь таким образом /<a.*?>(.*?)<\/a.*?>/ можно найти, то, что находится внутри <a>? а тут задача обратная. что тут может быть не понятно?
if (preg_match("/<\/a>.*?".$template.".*?/",$string)) {
....
}
Тоже не до конца понял условия :)
Может так?
нужно наоборот, чтобы текст не был внутри <a>
есть искомое значение ($template = "это не ссылка"), это значение не должно быть ссылкой
например строка:
$string = '<a href="http://site.ru">это ссылка</a> это не ссылка';
в ней нужно найти $template (т.е. текст "это не ссылка" и этот текст не должен являться анкором ссылки, т.е. он не должен быть внутри тега <a>)
p.s.
строка может быть такой:
$string = '<a href="http://site.ru">это ссылка</a> это не ссылка';
и такой:
$string2 = '<a href="http://site.ru">это ссылка</a> <a href="http://site.ru">это не ссылка</a> бла-бла';
текст "это не ссылка" должен быть найден в первой строке, но никак не во второй (т.к. во второй он является анкором ссылки)
Постановка задачи некорректна, т.к. вы не пишете чем блок текста ограничен у вас справа. Если у вас там конец строки, например, то:
$str =~ /<A [^>]+>(.*?)$/si;
поместит все что после вашей ссылки в $1 (Perl, но в ПХП все примерно то же самое). Если у вас справа не конец строки а что-то другое, то вместо доллара вы рисуете регекс на правую часть, а все что между левой и правой известными частями - будет ваш искомый блок.
пример строк:
$string = '<a href="http://site.ru">это ссылка</a> это не ссылка';
$string = '<a href="http://site.ru">это ссылка</a> это не ссылка ';
т.е. может быть и конец строки и не конец. искаться будет не весь текст, что не является ссылкой (анкором ссылки), а лишь некоторое совпадение с искомым значением (например $template = "это не ссылка")
>>$str =~ /<A [^>]+>(.*?)$/si;
думаю, что правильно записал, но работать не захотело. preg_replace("/<A [^>]+>(.*?)$/si/","123",$str);
а firstvds.ru и ispserver.ru - это одно и тоже (различия только в цене?)?
а есть тут пользователи довольные качеством ispserver? и если есть, на какой площадке размещаетесь?
Psycho добавил 04.03.2009 в 01:52
Здрасьте. А если я на карточку получил, то что? В этом случае налоги тоже уже уплочены (то бишь удержаны) (речь о наёмнике, а не о директоре, который этим должен распоряжаться, естественно).
да, если на и карточку налоги уже удержаны. НДФЛ удерживается всегда (если это не чёрный нал и официальное офомление), и у директора и у любого работника. если компания не заплатит налоги, скорее всего у директора вскоре пропадёт спокойный сон
А когда выдает налом через кассу предприятия?
Кстати, а если зарплату дали людям, а деньги не перечислили, чего ждать?
если через кассу - бух делает РКО. если вы уже получили зп можете идти тратить, налоги уже уплатили.
p.s.
ну вы и размхались... (одним органом) прямо мегамозг.
лицензировать розницу с комплектухой не нужно.
регистрируете ИП, покупаете кассу, ставите её на учёт в налоговой и вперёд. (кассу потом периодически нужно будет показывать мастеру (там, где покупали), и платить за её обслуживание (диагностику)
чек можно бить в офисе (или дома) в день доставки
Igoron:
Не хотел писать негатива о Вашей компании, даже после того как вы недели 2 назад мне "уронили" репутацию на форуме, но сейчас решил что надо донести правду до народа.
а куда ушли, если не секрет?