簡體   English   中英

PHP preg_match()正則表達式模式與空格匹配的問題

[英]PHP preg_match() regular expression pattern match issues with whitespace

當使用preg_match()檢查輸入時,當用戶鍵入類似於This comment基本上是在Firefox中找到了無效字符的匹配項,但是在Chrome中卻沒有,但是如果他們鍵入Thiscomment且在提交給服務器之前,則進行了preg_match check ,他們在單詞之間添加空格就可以了。

使用模式/^[a-zA-Z0-9 \\s\\.\\-]*$/並嘗試僅使用\\ s和不使用\\ s仍然沒有運氣。

內容/文本來自Angular管理的contentEditable表單元格。

PHP 5.6 Firefox / Chrome最新角度1.5

進一步的挖掘表明,正在發生的事情是firefox正在插入&lt;br&gt; ,基本上是<br> ,一旦刪除,添加的內容就不會刪除。 所以我正在嘗試通過正則表達式驗證之前將其剝離。

好的,更多的挖掘和實現工作我將需要弄清楚如何管理,因為chrome還會在向文本添加新行時插入字符,例如我希望支持的shift-return。 \\n&lt;br&gt;將只需要管理如何存儲&lt;br&gt; <br>並在輸出到文本,警報或表格單元等時進行管理。

感謝所有看過並發表評論的人。 對不起,噪音。

我現在要關閉這張票,或者,如果我無法關閉,請刪除它,不想刪除以節省其他人的時間,但不確定如何執行此操作。

因此,基本的問題(現在很明顯)是瀏覽器需要插入一些東西來處理換行符和新行,以支持該功能進行輸入。 Firefox有點古怪/激進,但並不是真的無關緊要,因為我是否要支持用戶向文本中添加新行的功能,因此需要在所有瀏覽器中進行處理。

解決方案是弄清楚如何將其管理為chrome,並且在任何瀏覽器中,當我要支持的新行(如shift-return)也將插入字符時。 只需管理存儲方式,\\ n或<br>或
輸出到文本,警報或表格單元格等時進行AND管理。

所以我要做的是使用style="white-space: pre;" 在表格單元格上,它呈現\\n就像在警報或文本區域中一樣。 angularjs換行過濾器獲得解決方案,沒有其他HTML

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM