file_get_contents
a> dosyanın içeriğini içeren bir dize döndürür.
Yani, sözedenlerin gibi, istediğimiz hangisi dize işleme işlevini kullanarak bu dize çalışabilirsiniz.
Böyle bir şey, str_replace kullanarak, muhtemelen yapacağını:
$content = file_get_contents('http://www.google.com');
$new_content = str_replace('<a href="', '<a href="site.php?url=', $content);
echo $new_content;
Ama bu özellik <a
etiketinin ilk olduğunda sadece href
özelliğinde URL'sini değiştirmek unutmayınız ...
, Bir regex might biraz daha size yardımcı kullanma ama muhtemelen korkarım ya, mükemmel olmayacaktır ...
Bir HTML belgesi ile çalışan ve kullanan bir "tam" bir çözüm istiyorum, DOMDocument::loadHTML
a> ve DOM işleme yöntemleri ile çalışıyorsanız başka olacak (biraz daha karmaşık, ama muhtemelen daha güçlü) bir çözüm olabilir.
The answers given to those two questions might also be able to help you, depending on what you are willing to do :
EDIT Yorum gördükten sonra:
Iki dizeleri değiştirmek isterseniz, str_replace
, ilk iki parametrelerine diziler iletebilirsiniz. Örneğin:
$new_content = str_replace(
array('<a href="', 'Pages'),
array('<a href="site.php?url=', 'TEST'),
$content);
Bunun üzerine:
- '
<a href="
' <a href="site.php?url=
ile değiştirilecektir
- ve '
Pages
' TEST
'yerini alacak
Ve, manuel alıntı:
If search and replace are arrays,
then str_replace() takes a value from
each array and uses them to do search
and replace on subject . If replace
has fewer values than search , then an
empty string is used for the rest of
replacement values. If search is an
array and replace is a string, then
this replacement string is used for
every value of search .
Eğer '<a href="
', iyi, str_replace
varsayılan :-) tarafından ne var tüm örneklerini değiştirmek istiyorsanız