| Autor | Zpráva | ||
|---|---|---|---|
| MAILBEE.cz Profil |
#1 · Zasláno: 12. 12. 2013, 23:24:29
Dobrý den,
potřeboval bych v programovacím jazyce PHP naprogramovat jednu aplikaci. Z počátku jsem si myslel, že se bude jednat o jednoduchou věc, ale vypadá to na déle. Mám klasický html soubor, kde je šablona jednostránkových webových stránek (HTML, CSS, ...). V tomto html souboru je umístěno několik odkazů (cca 70). Potřeboval bych vytvořit skript, který mě všechny odkazy nahradí za jeden můj vlastní odkaz. $html = $camp["html"];
# Zapíšu si HTML do souboru
$fopen_write = fopen("./edit_html.txt", "w");
fwrite($fopen_write, $html);
fclose($fopen_write);
$get_html = file_get_contents("./edit_html.txt");
$file_campaign_html = file("./edit_html.txt");
$cca_a = 0;
$cca_b = 0;
# Zjistím, kolik se nachází odkazů v souboru
for($number_count = 0; $number_count <= count($file_campaign_html); $number_count++)
{
if(strstr($file_campaign_html[$number_count], "<a")) { $cca_a ++; }
}
# Vytahám si z uloženého souboru odkazy
for($number_a = 1; $number_a <= $cca_a; $number_a++)
{
$get_html = str_replace("'", '"', $get_html);
$explode_start = explode("<a", $get_html);
$explode_middle = explode('"', $explode_start[$number_a]);
$explode_finish = $explode_middle[1];
echo $explode_finish."<br />;
}Pomocí tohoto skriptu dokážu vytáhnout všechny odkazy ($explode_finish) ze souboru, ale když se je pokusím nahradit a vrátit do souboru, tak se mi ani jeden odkaz v souboru nezmění. Mohl byste mi prosím někdo poradit, už jsem opravdu zoufalý. Děkuji. |
||
| okolojsoucí Profil |
Podívejte se preg_replace a nemusíte rozdělovat kód.
|
||
| mailbee.cz Profil * |
#3 · Zasláno: 13. 12. 2013, 11:32:01
okolojsoucí:
To jsem zkoušel, ale zaboha se mi nedaří :-/. Nahradím to pouze u všech odkazů nějakým odkazem, ale nikoliv jednotlivé odkazy, podle toho, co mám v textovém souboru :(. |
||
| Manny Profil |
#4 · Zasláno: 13. 12. 2013, 22:26:22
Tak to si budeš muset napsat funkci, která ti bude načítat ten soubor a pak ji dosadit do preg_replace_callback
|
||
|
Časová prodleva: 13 let
|
|||
0