teil aus tabellenfeld nicht anzeigen lassen

rernanded

Erfahrenes Mitglied
hi,
habe folgendes problem:

ich habe in einer tabelle fast 18.000 datensätzen. in dem tabellenfeld "inhalt" steht jeweils jede menge html-code, mal mehr mal weniger, immer unterschiedlich. darin ist aber auch jeweils eine zeile
HTML:
 <a href="http://www.beispielsurl.de">Website</a>
enthalten. der aufbau dieser zeile ist immer derselbe nur die url verschieden.

ich will jetzt bei der ausgabe von "inhalt" nur jeweils diese eine zeile anzeigen lassen und den ganzen rest nicht.

jemand eine idee?



MONI
 
Zuletzt bearbeitet:
Wo ist das Problem? Den Link kannst du zB mit einem regulären Ausdruck rausfiltern, dafür müsste man aber mal einen Beispielinhalt sehen. Zeig mal was du schon hast.
 
Hier mal ein Beispiel. regex ist mir klar und ich habe einen Ansatz aber der wirft mir nur alle links aus.

MONI

Die Zeile brauche ich:

HTML:
<a href="http://www.crombie.co.uk">Website</a>

Hier raus:

HTML:
...
<a href="http://www.grosnelji.ru/********?-************/crombie/index.php/label/view/2602255">
                                <span class="flag"><img src="http://www.thelabels.com/static/images/flags/16/ru.png" alt="" /></span>
                                <span class="country">******************** ****************?</span>
                            </a><br/>
<a href="http://www.shangsen.cn/********/crombie/index.php/label/view/2602255">
                                <span class="flag"><img src="http://www.thefinder.com/static/images/flags/16/cn.png" alt="" /></span>
                                <span class="country">************?</span>
                            </a><br/>
<a href="http://www.facebook.com/grosner"></a><br/>
<a href="https://twitter.com/#!/grosner"></a><br/>
<a href="http://www.adobe.com/go/getflashplayer">Flashplayer-Plugin</a><br/>
<a href="http://www.crombie.co.uk">Website</a><br/>
</td></tr><tr><td><hr></hr></td></tr></table>
 
Zuletzt bearbeitet:
Tja, dann nimm halt den schöneren Weg über DOMDocument... Aber mit Regexen geht es auf jeden Fall auch. Ist der Link-Text immer "Webseite"?
 
Tja, dann nimm halt den schöneren Weg über DOMDocument... Aber mit Regexen geht es auf jeden Fall auch. Ist der Link-Text immer "Webseite"?

Hi
ja ist immer "Website". Habe auch einen regex-Ansatz da bleibt aber immer noch ein Rest an html-code stehen.

MONI

PHP:
<?php

include("db-connection.php");

$sql = "SELECT * FROM tabelle ORDER BY id"; 

$ergebnis = 	@mysql_query($sql);
$anz_ds = 	@mysql_num_rows($ergebnis);

for ($ii = 0 ; $ii < $anz_ds ; $ii++)
{
	$id =@mysql_result($ergebnis,$ii,"id");
	$inhalt =@mysql_result($ergebnis,$ii,"inhalt");
	
$src = $inhalt;

$regex = '/<a href=".*?".*?>Website<\/a>/';

preg_match_all($regex, $src, $match);

foreach($match[0] as $result){

$inhalt_ersetzung = "$result;";

$inhalt_neu = preg_replace('/<a href=".*?".*?>Website<\/a>/is', $inhalt_ersetzung, $inhalt);

echo "$id - $inhalt_neu";
}
//echo "<hr>";
}
?>
 
Geht wohl auch irgendwie mit XPath aber damit kenn ich mich net so aus, kannst dich ja einlesen:

PHP:
<?php

$html = <<<'HTML'
<a href="http://www.grosnelji.ru/********?-************/crombie/index.php/label/view/2602255">
                                <span class="flag"><img src="http://www.thelabels.com/static/images/flags/16/ru.png" alt="" /></span>
                                <span class="country">******************** ****************?</span>
                            </a><br/>
<a href="http://www.shangsen.cn/********/crombie/index.php/label/view/2602255">
                                <span class="flag"><img src="http://www.thefinder.com/static/images/flags/16/cn.png" alt="" /></span>
                                <span class="country">************?</span>
                            </a><br/>
<a href="http://www.facebook.com/grosner"></a><br/>
<a href="https://twitter.com/#!/grosner"></a><br/>
<a href="http://www.adobe.com/go/getflashplayer">Flashplayer-Plugin</a><br/>
<a href="http://www.crombie.co.uk">Website</a><br/>
</td></tr><tr><td><hr></hr></td></tr></table>
HTML;

libxml_use_internal_errors(true);

$doc = new DOMDocument();
$doc->loadHTML($html);

$as = $doc->getElementsByTagName('a');
foreach($as as $a) {
	if ($a->nodeValue === 'Website') {
		var_dump($a->attributes->getNamedItem('href')->nodeValue);
	}
}
 
Zurück