2017-05-15 1 views
0

Kann mir jemand helfen?Wie bekomme ich Text, der Sonderzeichen in textarea verwendet?

Ich habe eine Textarea, wie bekomme ich die speziellen Werte der Textarea mit PHP und Jquery?

Wenn das Eingangs Ergebnis der Textbox:

Wie man ein einfaches #program mit #php für eine #beginner erstellen.

Wie kann ich Zeichen nur: #programming, #php und #beginner

von dieser Form:

<form>
<textarea class="textarea" id="textarea" name="textarea"></textarea>
<input type="submit" value="check">
</form>

Vielen Dank für Ihre Hilfe.

+0

Was haben Sie versucht, wissen Sie etwas über String-Manipulation? Regex? – madalinivascu

+0

Hallo, willkommen, bitte zeigen Sie uns, was Sie versucht haben und zu erreichen. Wir sind hier, um Menschen zu helfen, Probleme und Fehler zu lösen. Von dir Frage jetzt kann ich an 3 oder 4 Möglichkeiten denken, dies zu erreichen. Einer muss Ihren Bedürfnissen entsprechen. –

+0

Ich habe versucht, die eingegebenen Zeichen mit Regex zu entfernen, aber wenn das Problem oben, habe ich noch nie versucht, weil ich damit verwirrt bin. –

Antwort

1

Sie können einige einfache String-Manipulation tun:

var x = 'How to create a simple #program with #php for a #beginner.'; 
 
var hash = []; 
 
x.split(' ').forEach(function(v) {//split the string by space 
 
if(v.charAt(0) == '#')//test if the first character is the hash 
 
    hash.push(v);//append it to the array 
 
}); 
 
console.log(hash)

+1

Vielen Dank Sir, Vielen Dank. –

+1

Dies ist wahrscheinlich für einen Anfänger leichter zu verstehen als eine Regex-Lösung, aber beachten Sie, dass die Beispielausgabe in der Frage keine abschließende Interpunktion enthält. – nnnnnn

+1

Das dachte ich mir –

-1

Versuchen Sie, diese

function getSpecialWords(str) 
{ 
    var words = str.split(" "); 
    var character = "#"; 
    var result = []; 

    for(var i=0; i<words.length; i++) 
    { 
     if(words[i].charAt(0) == character) 
     { 
      result.push(words[i]); 
     } 
    } 

    return result; 
} 

var str = "How to create a simple #program with #php for a #beginner."; 


console.log(getWords(str)); 
+0

Das wird nicht funktionieren. Abgesehen von den Funktionsnamen, die nicht übereinstimmen, erstellt '.slice (0)' eine Kopie der gesamten Zeichenkette - wollten Sie '.charAt (0)'? – nnnnnn

+0

Ja, danke für die Erwähnung @nnnnnn –

0

können Sie einen regular expression wie /#[a-z0-9]+/gi verwenden, um einen Groß- und Kleinschreibung globalen Spiel zu tun, von irgendwelche "Wörter" (ein oder mehrere Buchstaben und Zahlen), die einem Hash-Zeichen folgen, vielleicht unter Verwendung der string .match() method:

var text = 'How to create a simple #program with #php for a #beginner.'; 
 
var tags = text.match(/#[a-z0-9]+/gi); 
 
console.log(tags);

Die folgende bindet einen Ereignis-Listener das Formular einreichen (I Formular eine ID für eine einfache Auswahl von JS gegeben hat), um den aktuellen Wert des Textbereiches zu bekommen, Die Uhrzeit, zu der das Formular gesendet wird.

document.getElementById("theForm").addEventListener("submit", function(e) { 
 
    e.preventDefault(); // for demo purposes cancel the form submission 
 
    
 
    var text = document.getElementById("textarea").value; // get full text 
 
    var tags = text.match(/#[a-z0-9]+/gi);     // match the tags 
 
    console.log(tags); 
 
});
<form id="theForm"> 
 
<textarea class="textarea" id="textarea" name="textarea">How to create a simple #program with #php for a #beginner.</textarea> 
 
<input type="submit" value="check"> 
 
</form>

0
var string = "How to create a simple #program with #php for a #beginner."; 
var splitString = string.split(/#*\s/); 
var result = []; 
for(var i=0;i<splitString.length;i++){ 
    if(splitString[i].startsWith('#')) 
     result.push(splitString[i]); 
} 
console.log(result); 

Dies sollte den Trick.

Verwandte Themen