2016-11-22 2 views
3

Hallo alle ich versuche, Daten aus einem Formular mit einer POST-Anfrage abrufen. Diese Daten werden auf einer anderen Website veröffentlicht. Auf der Website, wo die Daten erstellt werden, habe ich ein Textfeld namens Website. Die Daten in diesem Feld gehen auf die andere Website, auf der die Daten gesammelt werden. Jetzt möchte ich den 'www' Teil ausschließen. Wenn der Benutzer beispielsweise www.hello.nl eingibt, möchte ich nur hello.nl erhalten. WasEntfernen Sie einen bestimmten Teil von Posted Wert mit PHP

Ich habe versucht:

function website() { 
$str = $_POST['billing_myfield12']; 
echo chop($str,"www"); 
} 
// end remove www 

// prepare the sales payload 
$sales_payload = array(
    'organization_id' => $organization_id, 
    'contact_id' => $contact_id, 
    'status' => 'Open', 
    'subject' => $_product->post_title." ".website(), <----- here i call it 

Dies funktioniert nicht. Gibt es eine Möglichkeit, dies zu tun?

Antwort

2

Sie können trim() oder speziell ltrim() verwenden, um die www. auf der linken Seite zu trimmen. Bitte vergessen Sie nicht die . nach www.

echo ltrim($str, "www."); 

Beispielcode

echo ltrim("www.hello.nl", "www."); // hello.nl 

Demo: http://ideone.com/bqMY7X


Sieht aus wie es Nebenwirkungen im Zusammenhang mit dem obigen Code sind. Beginnen wir mit dem traditionellen str_replace Verfahren gehen:

echo str_replace("www.", "", $str); 

Auch wir sicher sind, dass sie nur von den ersten Zeichen ersetzen soll. Also müssen wir stattdessen eine preg_replace verwenden, damit sie von Anfang an ersetzt wird.

echo preg_replace("/^www\./g", "", $str); 

den obigen Code mit Bestätigte: https://regex101.com/r/dv8N6d/1

+0

Warum die downvote? Ernst? –

+0

Weil es ernsthaft falsch ist. trimmen verwendet eine Zeichenliste. – PeeHaa

+0

Ich habe keine Ahnung, wer das gemacht hat, aber du hast meine Erwiderung und akzeptierst, denn das ist eine sehr gute Antwort. Vielen Dank. – Kevin

Verwandte Themen