php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.06.2007, 22:39  
Erfahrener Benutzer
 
Registriert seit: 29.03.2004
Beiträge: 332
$$$ ThiKool $$$ ist in Verruf geraten
Standard Namen aus text filtern

Hi, ich wollte mir ein Script basteln welches namen welche in einer db gespiechert sind mit einer forumlareingabe vergleichen. Diesen Code hab ich geschrieben:

PHP-Code:
$a_sc1 "SELECT name FROM acenter_dlautorn WHERE name LIKE '%$autor%'";
$e_sc1 mysql_fetch_array(mysql_query($a_sc1)); 
Funktioniert soweit ganz gut nur:

In der db ist z.b der Name "abcd" gespeichert.

wenn per forumlar aber nun "converted by abcd" eingegeben wird, wird dies aber nicht erkannt. Wisst ihr wie ich das noch ändern muss?

Danke schonmal im Voraus!
$$$ ThiKool $$$ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.06.2007, 22:52  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Sry, aber wer gibt "converted by abcd" in ein Formularfeld ein, wenn daneben "Name" steht? Oo Da darf man sich net wundern, wenn er nix findet.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 20.06.2007, 22:57  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

versuch mal mit INSTR oder LOCATE
WHERE INSTR(".$autor.", name)>0;

sonnst wundere ich mich genau so wie KingCrunch, wie man dazu kommt in ein Namen-feld Blödsinn zu schreiben.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 20.06.2007, 23:07  
Erfahrener Benutzer
 
Registriert seit: 29.03.2004
Beiträge: 332
$$$ ThiKool $$$ ist in Verruf geraten
Standard

Naja wenn der ursprüngliche Autor einmal 1234 war, diese aktuelle Datei nun aber von ABCD convertiert wurde und er sich nicht komplett als autor eintragen möchte.

Mal anders gefragt, gibt es ne Möglichkeit aus einem Text einen bestimmten Namen herauszufiltern?
$$$ ThiKool $$$ ist offline  
Alt 21.06.2007, 09:58  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Naja wenn der ursprüngliche Autor einmal 1234 war, diese aktuelle Datei nun aber von ABCD convertiert wurde und er sich nicht komplett als autor eintragen möchte.
Versteh ich nicht ^^ Also ist es jetzt doch nicht aus einem Formular, sondern einer Datei?
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 21.06.2007, 10:43  
Erfahrener Benutzer
 
Registriert seit: 29.03.2004
Beiträge: 332
$$$ ThiKool $$$ ist in Verruf geraten
Standard

Nein, stell dir vor 1234 erstellt ein 3D Modell für Spiel 1. ABCD convertiert dieses Modell dann für Spiel 2 und läd seine Convertierung dann bei mir hoch, möchte aber auch den Ersteller also 1234 miterwähnen. Die Forumulareingabe sieht dann so aus:

Autorenname: 1234 converted by ABCD
$$$ ThiKool $$$ ist offline  
Alt 21.06.2007, 10:53  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Na, dann bleib ich aber bei meiner Aussage, dass "Autorenname" hier etwas missverständlich gewählt ist, wenn es noch anderes beinhalten darf. Sinnvoller wäre es wohl ein zusätzliches Feld einzubauen sinngemäß "Bearbeitet von" oder andersherum "Original von". Ein Name sollte in dem Sinne einen Namen enthalten.

Wenn nämlich einer kommt und reinschreibt "1234 converted by ABCD", dann kommt der nächste "xyz edited by me 2007" und wieder einer schreibt "one (original by two)". Du siehst: Du hast kein einheitliches Format, dass du a) auf Gültigkeit prüfen kannst und b) damit auch nicht bzw nur sehr schwer einen eindeutigen Namen herausziehen kannst.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 21.06.2007, 11:17  
Erfahrener Benutzer
 
Registriert seit: 29.03.2004
Beiträge: 332
$$$ ThiKool $$$ ist in Verruf geraten
Standard

hmm

aber ist es nicht möglich aus einem Text einen bestimmten Namen oder bestimmte Worte rauszufiltern?
$$$ ThiKool $$$ ist offline  
Alt 21.06.2007, 12:13  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von $$$ ThiKool $$$
hmm

aber ist es nicht möglich aus einem Text einen bestimmten Namen oder bestimmte Worte rauszufiltern?
das ist möglich wenn der Wort bekannt ist.
dafür kannst du in php strpos, oder regex verwenden.
in mysql bleiben dir INSTR und LOCATE, die gleiche funktionalität wie INSTR hat(sieh mein beispiel)
oder auch RLIKE bzw REGEX.
RLIKE und REGEX können natürlich genauer INSTR eine suche beschreiben.

in meinem beispiel mit INSTR kann es zum überschneidungen kommen.
zbs wenn wir user Slava und SlavaF haben, dann wird die Function INSTR bei dem Text : "converted by SlavaF" beide User liefern, da 'Slava' auch in diesem String zu finden ist.

Regex in mysql ist wesentlich langsamer als INSTR.
mit dem ausdruck:
'dein Text ein namen blja blja' REGEXP concat('[[:<:]]',name,' [[:>:]]')
kannst du ein wenig genauer der Inhalt von deinem feld 'name' auf vorkommen im dem Text untersuchen
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 21.06.2007, 12:34  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Es geht scho, bloss soll er jetzt jedes Wort aus "abc converted by def proudly presented by ghi in cooperation with jkl" einzeln gegen jeden Benutzernamen vergleichen, wobei im Suchtext vielleicht der Name nur partiell vorhanden ist? Und dann hat jemand "by" im Namen oder heißt sogar "proudly" und das wird dann auch als Name erkennt?

Also entweder trennst du die beiden Informationen wirklich in zwei Felder auf und akzeptierst nur Namen, oder aber du erlaubst (wie jetzt) kein Name, aber ein Hinweis, dann wird aber der Vergleich mit Namen durchaus aufwendig und wahrscheinlich nicht 100%ig funktionieren.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JavaScript/PHP: qooxdoo 0.7.1 - Teil 1 : Eine Einführung Zergling-new Tutorials 6 25.01.2008 10:41
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
text filtern flflfl PHP Tipps 2007 12 25.12.2006 12:04
Wörter aus Text filtern heohni PHP Tipps 2006 9 12.06.2006 09:23
Url's aus Text filtern Charly Shop Sui PHP Tipps 2006 5 13.05.2006 01:06
Text ausgabe filtern btw verkurtzen Bruce PHP Tipps 2007 2 28.12.2005 13:11
CSS - Design (clear - Problem) HTML, Usability und Barrierefreiheit 7 21.12.2005 14:55
Text aus der DB verteilen PHP Tipps 2007 17 16.11.2005 12:04
text filtern PHP Tipps 2005-2 1 30.09.2005 14:18
[Erledigt] Link PHP Tipps 2005-2 10 20.07.2005 21:28
Text aus plain text datei filtern PHP-Fortgeschrittene 7 19.07.2005 15:59
text aus eingabefeld filtern PHP Tipps 2005 13 29.03.2005 17:06
[Erledigt] DIV´s wollen nicht wie ich das will :-) HTML, Usability und Barrierefreiheit 22 28.03.2005 18:36
frames probleme HTML, Usability und Barrierefreiheit 6 18.01.2005 02:33
txt-Datei erstellen d-81 PHP Tipps 2004 12 11.08.2004 20:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
namen aus text filtern, php wörter aus text filtern, bestimmte namen rausfiltern php, php text filtern

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.