Php etiketleri arasındaki metni kaldırmak için nasıl?

5 Cevap php

Yıllardır PHP kullanarak rağmen, ben şimdi arka içinde beni ısırıyor ki ... düzgün dizeleri kesecek ifadeler kullanmayı öğrenmiş asla!

Herkes bu kesilmesiyle bazı yardımıyla bana sağlayabilir? Ben dönüm, url metin kısmını doğramak gerekir

<a href="link.html">text</a>

içine

<a href="link.html"></a>

5 Cevap

Kullanma SimpleHTMLDom,

<?php
// example of how to modify anchor innerText
include('simple_html_dom.php');

// get DOM from URL or file
$html = file_get_html('http://www.example.com/');

//set innerText to null for each anchor
foreach($html->find('a') as $e) {
    $e->innerText = null;
}

// dump contents
echo $html;
?>

Böyle bir şey, sizi dikkate alınarak diğer href s ile yeniden kullanmak isteyebilirsiniz ne:

$str = '<a href="link.html">text</a>';
$result = preg_replace('#(<a[^>]*>).*?(</a>)#', '$1$2', $str);
var_dump($result);

Seni alacak olan:

string '<a href="link.html"></a>' (length=24)

(I'm considering you made a typo in the OP ? )


If you don't need to match any other href, you could use something like :

$str = '<a href="link.html">text</a>';
$result = preg_replace('#(<a href="link.html">).*?(</a>)#', '$1$2', $str);
var_dump($result);

Ayrıca alacak Hangi:

string '<a href="link.html"></a>' (length=24)


As a sidenote : for more complex HTML, don't try to use regular expressions : they work fine for this kind of simple situation, but for a real-life HTML portion, they don't really help, in general : HTML is not quite "regular" "enough" to be parsed by regexes.

Sadece strip_tags(), bu etiketleri kurtulmak ve bunların arasında sadece istediğiniz metni sol alacağı kullanın

You could use substring in combination with stringpos, eventhough this is not a very nice approach.

Giriş: PHP Manual - String functions

Another way would be to write a regular expression to match your criteria. But in order to get your problem solved quickly the string functions will do...

EDIT: Ben seyirci hafife. Regexes ile devam edin ;) ... ^ ^

strip_tags fonksiyon aynı zamanda, bu yardımcı olur.

http://us.php.net/strip%5Ftags