php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.11.2010, 10:39  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard [Erledigt] String richtig abschneiden?

Hallo,

ich hab da mal ein kleines Problem.
Und zwar muß ich einen String auseinander nehmen und wieder
zusammensetzen. der String sieht so aus:
Code:
Bildname_Zahl_Zahl_Zahl.Bildtyp
Ich benötige den Bildnamen und den Bildtyp.
Das ganze habe ich so gelöst:
PHP-Code:
var bild=quelle.substring(0,quelle.indexOf("_")) + quelle.substring(quelle.indexOf(".")); 
Das funktioniert auch soweit. Jetzt aber mei Problem.

Ich suche ja nach dem 1. "_" und nehme den Teil davor als Bildname.
Jetzt ist es aber möglich, daß im Bildnamen auch ein "_" enthalten ist.
Z.B. Bild_Klein oder so.
Somit würde mir der Bildname zerrissen.
Da der Rest des Strings aber immer gleich ist. Müßte man also
vo hinten anfangen zu zählen ud ab dem 3. Vorkommen des "_"
alles als Bildnamen ausgeben.
Nur leider weiß ich nicht wie ich das machen könnte

Hat jemand einen Tip für mich?
pfump ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.11.2010, 10:46  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Da bist du mit einem regulären Ausdruck vielleicht besser bedient.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 05.11.2010, 10:48  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Leider kenn ich mich mit regulären ausdrücken nicht
sonderlich gut aus
pfump ist offline   Mit Zitat antworten
Alt 05.11.2010, 11:34  
Benutzer
 
Registriert seit: 24.02.2010
Beiträge: 45
PHP-Kenntnisse:
Fortgeschritten
Heiko R ist zur Zeit noch ein unbeschriebenes Blatt
Standard

[EDIT]
Sorry, ich dachte, ich wäre im PHP-Forum
Der unten stehende RegEx sollte so aber auch in JS funktionieren.
Korrigiert mich, falls nicht
[/EDIT]

Reguläre Ausdrücke sind jetzt auch nicht unbedingt meine große Stärke, aber hiermit geht es auf jeden Fall:

PHP-Code:
$filename 'ein_BIld2-Name_123_456_789.jpg';

$regex '([-_a-zA-Z0-9]+)_(?:\d+)_(?:\d+)_(?:\d+).(jpg|jpeg|gif|png|bmp)';
preg_match("#".$regex."#smi"$filename$treffer);

print_r($treffer); 
In $treffer[0] steht nochmal der ganze String.
In $treffer[1] steht der Bildname. Hier: ein_BIld2-Name
In $treffer[2] steht die Dateiendung. Hier: jpg

Im Bildnamen erlaubt sind Zahlen, Buchstaben, Binde- und Unterstrich.
Falls du genau weißt, wie lang jeweils die Zahlenfolgen sind, die nach dem Bildnamen kommen, oder zumindest für jeden Zahlenwert min/max Werte für die Länge hast, könnte man es noch schöner machen.
__________________
Zitat:
"Nein, nein das Beste an Zombieland ist: Keine Facebook-Status-Updates mehr.
'Rob Curtis freut sich schon auf Freitag', wen interessierts?"
Heiko R ist offline   Mit Zitat antworten
Alt 05.11.2010, 11:35  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Also folgendes hab ich jetzt:

Code:
var reg=/_\d{1,}_\d{1,}_\d{1,}\.[a-z]{3}$/;

var newString = quelle.replace(reg, "");

var test=newString + quelle.substring(quelle.indexOf("."));
Nach ersten Test's scheint das gante zu funktionieren.
Wenn mir jetzt noch jemand bestätigen könnte das ich da keinen
Fehler drin hab wär das voll
pfump ist offline   Mit Zitat antworten
Alt 05.11.2010, 11:37  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

explode() in PHP hat ein Gegenstück in JS:
http://de.selfhtml.org/javascript/ob...ring.htm#split

Damit solltest du zum Ziel kommen.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 05.11.2010, 11:46  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Ich glaube nicht das ich mit split() erfolgreich bin.

Es kann im Bildnamen ein _ dri sein, muß ja aber nicht.
Woher will ich denn wissen ob der Bildname ein _ enthält oder nicht.

Naja, man könnte ja das mittels der Einträge im Array rausbekommen.
Wenn mehr als 3 Eiträge drin sind enthielt der Bildname ein _
Dann müßte mann den letzten Eintrag (also Zahl.Bildtyp) noch abschneiden
und dann den String noch zusammensetzen.

Richtig?
pfump ist offline   Mit Zitat antworten
Alt 05.11.2010, 11:50  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Wenn du das Ding am _ zerlegst und in einen Array packst, dann siehst du anhand der Anzahl der Arrayelemente, wieviele _ im Bildnamen sind.
Du kannst dann mit indexof den Bildnamen rausziehen (den zweiten Parameter von indexof gescheit wählen)

Oder du kannst die ersten x Arrayelemente zum Dateinamen zusammenbauen.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 05.11.2010, 11:53  
Erfahrener Benutzer
 
Benutzerbild von pfump
 
Registriert seit: 29.03.2008
Beiträge: 576
pfump kann nur auf Besserung hoffen
Standard

Aber mit meinem regulären Ausdruck müßte das doch auch
funktionieren oder?

Spart ja doch ein paar Zeile Quellcode
pfump ist offline   Mit Zitat antworten
Alt 05.11.2010, 13:42  
Benutzer
 
Registriert seit: 24.02.2010
Beiträge: 45
PHP-Kenntnisse:
Fortgeschritten
Heiko R ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<script type="text/javascript">
function 
matchFile(str) {
    var 
matching = (str).match(/^([-_a-zA-Z0-9]+)_(?:d+)_(?:d+)_(?:d+).(jpg|jpeg|gif|png|bmp)$/ig)
    var 
bildname RegExp.$1;
    var 
extension RegExp.$2;
    
alert('Bildname: ' bildname '\nFiletype: ' extension);
}
matchFile('ein_BIld2-Name_123_456_789.jpg');
</script> 

bzw. kürzer aber unübersichtlicher:

PHP-Code:
function matchFile(str) {
    (
str).match(/^([-_a-zA-Z0-9]+)_(?:d+)_(?:d+)_(?:d+).(jpg|jpeg|gif|png|bmp)$/ig)
    
alert('Bildname: ' RegExp.$'\nFiletype: ' RegExp.$2);
}
matchFile('ein_BIld2-Name_123_456_789.jpg'); 
__________________
Zitat:
"Nein, nein das Beste an Zombieland ist: Keine Facebook-Status-Updates mehr.
'Rob Curtis freut sich schon auf Freitag', wen interessierts?"

Geändert von Heiko R (05.11.2010 um 14:02 Uhr).
Heiko R ist offline   Mit Zitat antworten
Antwort


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
Persistence Framework #Avedo Software-Design 37 28.03.2009 17:32
Dash aus Datenbank richtig darstellen knit PHP-Fortgeschrittene 7 06.03.2009 18:51
Timestamp in Datenbank: String oder int PsychoEagle Off-Topic Diskussionen 6 03.03.2009 12:16
Hashfunktion String -> Integer Flor1an PHP Tipps 2009 10 26.02.2009 01:16
jQuery Plugin - so richtig? stayInside JavaScript, Ajax und mehr 5 23.02.2009 12:34
string in string suchen,ersetzen,zusammenfügen und update machen litterauspirna PHP Tipps 2009 24 08.01.2009 13:38
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
Alle Felder nach String durchsuchen Jacks Rache Datenbanken 6 08.08.2005 09:46
In allen Spalten nach String suchen Jacks Rache Datenbanken 0 05.08.2005 20:15
In allen Tabellen nach String suchen Jacks Rache Datenbanken 0 05.08.2005 11:18
String in allen Spalten suchen Jacks Rache Datenbanken 0 05.08.2005 09:43
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
Problem Checkboxen - string mit Zahlen die gecheckten setzen Cyberbob_at_tot PHP Tipps 2005-2 5 11.06.2005 11:36
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jquery string kürzen, javascript dateiendung abschneiden, http://www.php.de/javascript-ajax-und-mehr/73617-erledigt-string-richtig-abschneiden.html, javascript string abschneiden, php string abschneiden hinten, jquery string abschneiden, jquery text kürzen, js abschneiden, regex string abschneiden, php string kürzen hinten, regex dateierweiterung kürzen, string abschneiden jquery, jquery string bearbeiten, js string letzten 4 abschneiden, php dateiendung abschneiden, jquery string durchsuchen und substring ausgeben, php endung abschneiden, javascript abschneiden, \php text ausernander bekommen nach einen ., qregexp string abschneiden

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:12 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