Wort in einem $_POST suchen.

Nö, ist es nicht.

Snowowl hat gesagt.:
Hi,
du könntest doch z.B. preg_match benutzen:
PHP:
<?php
$pattern = "/^.*(<a href=).*(>).*(<\/a>).*$/";
$str = $_POST['text'];
if(!preg_match($pattern, $str))
{
	//Eintrag vornehmen
}
else
{
	//Eintrag nicht vornehmen
}
?>
Gruß,
Snowowl

Aber das sollte dem entsprechen. Also wenn preg_match false ist (der Text also nicht gefunden wurde), dann trage ein. Sonst hald ein Error oder so.

;)
 
Ich habe das eingebaut, aber es klappt nicht.
Hier der Code:
PHP:
$pattern = "/^.*(<a href=).*(>).*(<\/a>).*$/";
$str = $eintrag;
if(preg_match($pattern, $str))
{
    header("Location:http://www.google.de/");
}
else
{
    header("Location:index.php?file=gbook.php");
}
Hab erstmal gemacht das wenn kein <a href drin ist, man in gbook.php gelietet wird, wenn ein <a href drin ist kommt man nach http://www.google.de
 
Tualex hat gesagt.:
Kann mir denn da keiner weiterhelfen?
Hallo,
1. bringt es gar nichts deinen Post zu "pushen",
2. so könnte es funktionieren:
PHP:
<?php
    $pattern = '/<a href=("|\')(.*)("|\')>(.*)<\/a>/';
    $str = $_POST['text'];
    if(!preg_match($pattern, $str)){
        //eintragen
    } else {
        //nicht eintragen
    }
?>

mfg
forsterm
 
Folgendes sollte auch ausreichen:
PHP:
if( strpos($string, '<a href=') !== false ) {
	// Zeichenkette „<a href=“ ist vorhanden
}
 
Ein einfacherer (perfomanterer) Weg als mit RegEx in diesem besondern Fall, wenn man die fertige String Methode substr_count benutzt.

Damit kannst du die Anzahl eines bestimmten String Vorkommens prüfen, sprich: kommt href mehr als einmal in deinem Text vor, dann mache nix, bzw. nur machen wenn es 0x vorkommt.

PHP:
if(substr_count($_POST['text'], 'a href') <= 0) {
  // DB INSERT
}
 
Zurück