2013-04-01 4 views
-3

Я хочу заменить "hello""guys" за исключением изображения src и alt с PHP (без учета регистра).PHP заменить текст, кроме изображения alt

От

Hello hello HELLO <img src="hello.jpg" alt="hello" /> 

Я хочу

Guys guys GUYS <img src="hello.jpg" alt="hello" /> 

или

guys guys guys <img src="hello.jpg" alt="hello" /> 

Я попытался с str_replace, str_ireplace, preg_replace, но безрезультатно.

+0

И ваш вопрос? –

+0

Как это сделать? – user2233781

+2

Написание некоторых кодов было бы одним из способов сделать это. или распечатать текст/html на листе бумаги, а затем с помощью белого цвета стереть текст, который вам не нужен. Мы не здесь, чтобы твоя работа для тебя. ** ВЫ ** напишите код. если он не работает, вы отправляете этот код, и кто-то может попытаться вам помочь. –

ответ

1

Вы хотите использовать «Отрицательный взгляд». Вот мое доказательство кода концепции.

<?php 
$string = "Hello, hello, HELLO hello.jpg"; 
print preg_replace("/hello(?!.jpg)/i", 'Guys', $string); 

Печать

Guys, Guys, Guys hello.jpg 
+1

Хорошо, что не сохраняет случай ваших результатов, но '(?!. jpg)' является важная часть. Вы должны быть в состоянии взять это оттуда. – jcbwlkr

+0

результат Парни Парни Парни Guys user2233781

+0

Спасибо @ jacobwalker0814, но свойство альт не должно быть заменено – user2233781

2

Если вы хотите, чтобы соответствовать как привет следующий как альт = «и SRC =» вы можете использовать „негативный“ для просмотра назад и тех. Что-то вроде:

$string = 'Hello hello HELLO <img src="hello.jpg" alt="hello" />'; 
preg_replace('/(?<!(src|alt)=")hello/i', 'guys', $string); 
+0

это работает! Спасибо! – user2233781

+0

almoust perfect ... но мое ключевое слово имеет несколько слов, оно не работает! Вот полная «проблема» http://stackoverflow.com/questions/15753137/php-replace-words-to-links-except-images – user2233781

Смежные вопросы