Platzhalter in PHP

Breuker

Erfahrenes Mitglied
Hallo auch!
Ich hab (mal wieder) ein Problem in php:

Ich habe folgenden HTML abschnitt:
HTML:
<a href="xyz"></a>

Nun soll das xyz soll nun mir str_replace entfernt werden. Das Problem dabei ist jedoch, dass der Inhalt des href dynamisch ist.
Ist es möglich, dass zu entfernen?

Breuker
 
Du könntest Folgendes machen:
PHP:
<?php

	$string = '<a href="{VAR}"></a>';
	echo str_replace('{VAR}', 'foobar', $string);

?>
Das Ganz kann dann selbstverständlich auch noch zu einer eigenen Template-Klasse erweitert werden.
 
ne so meinte ich das nicht:
so sollte das ungefähr aussehen:

PHP:
<?
$string = str_replace('<a href="Platzhalter]">','',$string);
?>
 
Mach's über preg_replace()!
PHP:
$string = "<a href=\"xyz\">Test</a>";
$newlink = "test.php";
$newstring = preg_replace("/(<a href=\")(.*)(\">Test\<\/a\>)/is", "\\1".$newlink."\\3", $string);

Oder wenn du spezielle Platzhalter hast:
PHP:
$file = "<a href=\"{Link1}\">Link 1</a> <a href=\"{Link2}\">Link 2</a> <a href=\"{Link3}\">Link 3</a>";
$vars = array("{Link1}", "{Link2}", "{Link3}");
$replaces = array("home.php", "news.php", "forum.php");
for($i=0; $i<count($vars); $i++) {
	$file = str_replace($vars[$i], $replaces[$i], $file);
}

Hoffe es hilft dir!

Mfg Pain-maker
 
Zuletzt bearbeitet:
@Pain-maker:
Dein zweiter Vorschlag ist ja im Prinzip genau das, was Gumbo schon gemacht hat. Und soweit ich weiß, könnte man den Code von dir noch vereinfachen.
PHP:
$file = "<a href=\"{Link1}\">Link 1</a> <a href=\"{Link2}\">Link 2</a> <a href=\"{Link3}\">Link 3</a>"; 
$vars = array("{Link1}", "{Link2}", "{Link3}"); 
$replaces = array("home.php", "news.php", "forum.php"); 
    $file = str_replace($vars, $replaces, $file);

@Breuker:
Willst du einen Link dynamisch erzeugen, den kompletten a-Tag löschen, oder nur das was im href steht ändern?
 
Zuletzt bearbeitet:
Ehrlich gesagt, werde ich aus deinem Beispiel nicht schlau, Breuker. Könntest du es bitte etwas ausführlicher erläutern.
 
also:
Ich habe folgenden HTML Code:
HTML:
<a href="Irgend_eine_Seite.html">Text</a>
Jetzt möchte ich alles, was vor und nach Text steht entfernen. Nur kann es sein, dass der der href zu einer ganz anderen seite geht
Beispiel:
HTML:
<a href="Irgend_eine_andere_Seite.html">Text</a>

Jetzt verständlicher?
 
Er will anscheinend den mittleren Teil von (href=).*(>) haben. Also nur die URL.
Oder bin ich jetz auf'm falschen Dampfer?
Ich hoffe mal nicht - nur leider kann ich RegEx nicht so gut und kann ihm auch keine vernünftige Lösung anbieten. War nur ein Post zum Verständnis.
 
Zurück