[英]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正在插入<br>
,基本上是<br>
,一旦刪除,添加的內容就不會刪除。 所以我正在嘗試通過正則表達式驗證之前將其剝離。
好的,更多的挖掘和實現工作我將需要弄清楚如何管理,因為chrome還會在向文本添加新行時插入字符,例如我希望支持的shift-return。 \\n
或<br>
將只需要管理如何存儲<br>
或<br>
並在輸出到文本,警報或表格單元等時進行管理。
感謝所有看過並發表評論的人。 對不起,噪音。
我現在要關閉這張票,或者,如果我無法關閉,請刪除它,不想刪除以節省其他人的時間,但不確定如何執行此操作。
因此,基本的問題(現在很明顯)是瀏覽器需要插入一些東西來處理換行符和新行,以支持該功能進行輸入。 Firefox有點古怪/激進,但並不是真的無關緊要,因為我是否要支持用戶向文本中添加新行的功能,因此需要在所有瀏覽器中進行處理。
解決方案是弄清楚如何將其管理為chrome,並且在任何瀏覽器中,當我要支持的新行(如shift-return)也將插入字符時。 只需管理存儲方式,\\ n或<br>或
輸出到文本,警報或表格單元格等時進行AND管理。
所以我要做的是使用style="white-space: pre;"
在表格單元格上,它呈現\\n
就像在警報或文本區域中一樣。 從angularjs換行過濾器獲得解決方案,沒有其他HTML
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.