Existiert die Zeile bereits?

hibbert

Mitglied
Hi,
ich habe eine PHP Seite mit 2 Iframes.
Aus dem einem Iframe soll nun überprüft werden, ob in dem 2. Iframe ein bestimmter Text bereits vorhanden ist.

Wenn ja:
Soll die entschprechende Meldung ausgegeben werden

Wenn nein:
Soll eine entsprechende Fehlermeldung ausgegeben werden.

Ist das überhaupt mit js möglich?
Ich bin für jede Hilfe dankbar...

thx hibbert
 
Hallo!

Was meinst du mit "bestimmter Text vorhanden"?
Meinst du in einem Text, Textfeld, oder als Variable?
Oder meinst du etwa, zu überprüfen, ob ein normaler Text vorhanden ist, wie ich es hier mal schildere:

Code:
<html><body bgcolor=#ffffff></body></html>

Nehmen wir mal an, das wäre dein IFrame, aus dem du den Text lesen willst.
Versuchst du dann zum Beispiel (nur, um ein Vergleich zu haben) herauszufinden, ob die Hintergrundfarbe (bgcolor) den Wert 'fffff' oder z. B. '00ff00' hat?

Wenn du den Text in einer normalen PHP-Datei als HTML ausgibst, wird das auf diese Weise nicht möglich sein (jetzt mal davon abgesehen, dass es für die BGColor in JavaScript eine eigene Eigenschaft gibt).

Wenn du das so vor hast, rate ich dir dazu, eine PHP-basierte Lösung zu wählen, oder die Werte in JS in einer Variable zu speichern und dann abzufragen.
 
Hi,
die hintergrundfarbe möchte ich net haben.
Wenn zum beispiel ein normaler Text auf der Seite steht ( also nicht in einem Textfeld) z.b: <font size="2" face="Arial">Beispiel</font>, dann möchte ich nur das Wort Beispiel auslesen.
Und wenn dieses existiert die entsprechende Meldung ausgeben.

hibbert
 
Das geht In Brausern, auf welche noch keine Antiquitätensteuer fällig ist:-)
Code:
<script type="text/javascript">
<!--
function switch_entities(str)
{
entities=new Array(
new Array('\\\\','\\\\'),
new Array('\\/','\\/'),
new Array('&','&amp;'),
new Array('<','&lt;'),
new Array('>','&gt;'),
new Array('"','&quot;')
);
for(var arr in entities)
    {
    str=str.replace(eval('/'+entities[arr][0]+'/g'),entities[arr][1]);
    }
return str;
}


function search_str()
{
//Leerzeichen ignorieren?
ignore_spaces   =true;

//Gross/Kleinschreibung ignorieren?
ignore_cases    =true;

if  (!top.myFrame.document.getElementsByTagName||
    !top.myFrame.document.getElementsByTagName('body')[0].innerHTML
    )
        {
        alert('In Ihrem Browser ist die Suche nicht möglich!');return;
        }

strSearch=String(document.getElementsByName('myString')[0].value);
strFind=top.myFrame.document.getElementsByTagName('body')[0].innerHTML;
strings=new Array(strSearch,strFind);
for(i=0;i<strings.length;++i)
    {
    if(i==1){strings[i]=strings[i].replace(/<[^><]*>/g,"");}
    if(ignore_spaces){strings[i]=strings[i].replace(/\s/g,"");}
    else{strings[i]=strings[i].replace(/\s/g," ");}
    if(ignore_cases){strings[i]=strings[i].toLowerCase();}
    }

if(!strings[1].match(eval('/'+switch_entities(strings[0])+'/')))
    {
    alert('Der String wurde nicht gefunden!');
    }
else
    {
    alert('Jawoll, der String wurde gefunden!');
    }
}
//-->
</script>
... das andere <iframe> muss dabei "myFrame" heissen, das Eingabefeld für den zu suchenden String muss den Namen "myString" haben.

-->Test
 

Neue Beiträge

Zurück