Autor Zpráva
matata8611
Profil
Ahoj,
je prosím nějakým způsobem možné našíst do proměnné část řetězce?

Např. mám že $pokus =
<div class="pravy noprint"><h2 class="dalsi_moznosti">Další možnosti</h2></div>

Rád bych řetězec změnil tak aby do proměnné pokus1 bylo načteno pouze:
<h2 class="dalsi_moznosti">Další možnosti</h2>

To co je před h2 může být vždy jiné.

Nebo lze nějak načíst obsah elementu s určitou třídou?

Díky moc.
Radek9
Profil
matata8611:
Pokud je to přesně takhle, můžeš použít substr a prostě to oříznout o přesný počet znaků. Pokud je to trochu komplexnější, dá se použít regulární výraz. V tomhle případě asi '/\<h2 class\="dalsi_moznosti"\>(.+?)\<\/h2\>/U'. Pokud je to ještě komplexnější, existují HTML parsery. Na googlu jistě něco najdeš.
David_
Profil *
Nevím o co ti přesně de, ale nešlo by to takto?

<?php

 $menici_cast = '';
 $stala_cast = '<h2 class="dalsi_moznosti">Další možnosti</h2>';

// bez leve casti
 echo $menici_cast.$stala_cast;

// s levou casti
 $menici_cast = '<div class="pravy noprint">';
 $stala_cast .= '</div>';

 echo $menici_cast.$stala_cast;
matata8611
Profil
Radek9:
tusím ze toto bude ono
'/\<h2 class\="dalsi_moznosti"\>(.+?)\<\/h2\>/U'

Mohl bys to proísm aplikovat na ten muj priklad?
Díky moc.
Tori
Profil
matata8611:
viz funkce preg_match
lionel messi
Profil
matata8611:
Mohl bys to proísm aplikovat na ten muj priklad?
S informáciami, kt. ti už poskytli kolegovia je to síce jednoduché, ale dodám teda celý kód:
<?php
$pokus = '<div class="pravy noprint"><h2 class="dalsi_moznosti">Další možnosti</h2></div>';
$pokus1 = preg_match('~\<h2 class\="dalsi_moznosti"\>(.+?)\</h2\>~', $pokus);
?>
Fisir
Profil
Reaguji na lionela messiho:
No, on ale nemá uvnitř nadpisu zapsanou jedničku.
preg_match('~\<h2 class\="dalsi_moznosti"\>(.+?)\</h2\>~', $pokus, $nalezeno);
echo($nalezeno[0]);
lionel messi
Profil
Fisir:
Správna pripomienka, vďaka za opravu, splietol som si to s preg_replace.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0