Autor Zpráva
Anonymní
Profil *
Ahoj, potřebuju pomocí php otevřít soubor na webu s příponou .html a v něm najít text <div style="clear: both">

A potom konce toho divu a vytahnou z nej text co v nem je:

to znamena:

<div style="clear:both">Nejaky text ktery potrebuju vytahnout</div>

A potrebuju ten text, do html nemohu nejak sahat, nevim ani na kterem radku to bude...

vi nekdo ?

Dikes
joejoe
Profil *
to to je prece jednoduche

funkce fopen() nebo file() (nebo co jen chces http://mirrors.inway.cz/manual/en/ref.filesystem.php)
pokud je ten text na jinem webu, tak curl nebo fsockopen

funkce preg_match, preg_replace
popripade ereg, eregi, ereg_replace

tenhle priklad dela neco velmi podobneho:
<?php

$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>
(nejak takhle: $pattern = "/(<div style=\"clear : both\">)(\w+)(</div>)"; $replacement = '$2')

pokud se ti zdaji regularni vyrazy prilis komplikovane, tak to muzes zkusit pomoci substr a strpos (je to sice daleko vic kodu, ale pro zacatecnika daleko srozumitelnejsi)
llook
Profil
Já bych to udělal takhle:

$soubor = file_get_contents('http://example.com/atakdál...');
if (preg_match('|<div style="clear: both">([^<]*)</div>|', $soubor, $matches)) {
$ten_text = $matches[1];
} else {
echo('Buďto tam ten text neni, nebo mám špatně ten regulární výraz.');
}
Anonymní
Profil *
lehci regulerni vyraz


ERegI("<div style="clear:both">(.*)</div>", FRead($fp, 256), $title);
echo $title[1];
llook
Profil
Anonymní
U regulárů se hledá nejdelší možná shoda, takže pro následující text:

<div style="clear:both">Text</div>
<div id="neco-jineho">
Nějaký další &lt;div&gt;, který nás už ale nezajímá
</div>

by ten lehčí výraz vypsal tohle:

Text</div>
<div id="neco-jineho">
Nějaký další &lt;div&gt;, který nás už ale nezajímá
Toto téma je uzamčeno. Odpověď nelze zaslat.

0