我試圖從用戶通過網站(PHP)提交輸入,並將其鍵入的任何內容放入Python程序的字典中。我現在設置的方式是,例如,某人向網站上的「姓名」字段提交「John Smith」,點擊提交,並將他們的姓名保存在我的Python字典中,作爲'Name': 'John Smith'
供我使用別處。這部分工作正常。在PHP中搜索並替換硬返回
當我遇到麻煩的是當用戶需要完整的段落提交到一些文本字段。我的Python程序將段落之間的任何硬返回/斷點解釋爲字典值的結尾,然後由於段落的下一段未在關鍵字:值對中格式化,整個程序崩潰。
我能夠通過搜索,並在PHP與"\\'"
更換"'"
來解決類似的問題,當用戶提交單引號(程序再次讀取此類似,當它是不是值的結束),它甚至觸動了我的Python腳本前以便它在放入字典時已經正確地轉義。
我不知道如何做出同樣的事情與硬回報。我嘗試過搜索"\r"
,"\\r"
,並試圖找到CR
和LF
以及其他所有我可以找到的有關在PHP中使用硬迴歸的潛在方式,並試圖用"\\n\\n"
替代所有這些方法,但沒有一個方法可行。
我要指出的是,當我輸入完整的段落到詞典中用手,用線之間\n\n
,程序工作得很好。
考慮到相當多,除了我上面使用包含段落之間的硬回車名稱字段例如每用戶提交,它打破了整個程序非常巨大的問題。任何想法,將不勝感激!
編輯補充:
按照要求,我編輯我的問題添加一些代碼示例。
的過程開始在用戶輸入一些文字到網站上的文本框中。例如:
Product Description: "This product blah blah blah blah.
Blah blah blah blah for a few paragraphs with hard returns in between them."
該文本框的內容保存到一個PHP變量,當用戶點擊該網站上提交,該變量的內容發送給我。所以對於上面的例子,我會得到一個格式正確的電子郵件,就像我在上面輸入的那樣,段落之間的硬回報。
對於用戶不會返回的文本框,例如'Name' : 'John Smith'
(如上所示),將它作爲key:value對直接導入到我的Python字典中很容易。
我希望發生的是有我的字典裏是這樣的:
dict = {
'Name': 'John Smith',
'Product Description': 'This product blah blah blah blah.\n\nBlah blah blah blah for a few paragraphs with hard returns in between them.'
}
什麼實際發生的是這樣的:
dict = {
'Name': 'John Smith',
'Product Description': 'This product blah blah blah blah.'
'Blah blah blah blah for a few paragraphs with hard returns in between them.'
}
這明顯錯誤,因爲「等等等等等等等等幾在他們之間有回報的段落。「不是一個關鍵:價值對。
此前,當用戶在文本字段中輸入撇號時,我遇到了同樣的問題。例如:
Product Name: "John's Book of Recipes"
隨後將顯示爲
'Product Name': 'John'
's Book of Recipes'
哪出錯出於同樣的原因 - 「的食譜書」是不是一個鍵:值對。
我能放上這行的網站上的PHP很容易地解決這個問題:
$Product_Name = str_replace("'", "\\'", "$Product_Name");
它與正確轉義"\\'
「之前,它曾經被髮送給我或發送到替代"'"
我。Python字典
這真是棒極了現在,我的字典裏顯示爲:
dict = {
'Name': 'John Smith'
'Product Name': 'John\'s Book of Recipes'
}
所以現在我的問題是,我有沒有一種方法來搜索和替換特定的字符/代碼時,用戶提交了段落之間的回報文本?
我想,類似上面:
$Product_Description = str_replace("\r", "\\n\\n", "$Product_Description");
和其他試圖將我的編輯前面所提到的,用的想法,我可以搜索任何的PHP保存那些難以回報爲(顯然不是「\ r「),並將它們替換爲我知道在我的Python代碼中工作的」\ n \ n「,因爲這是我迄今爲止的手工輸入方式。
希望這更清楚。如果沒有,請告訴我,我會再次編輯。
採取某些類型的線路終端的請編輯您的問題,並添加一些示例代碼。 –
我已經添加了一些代碼,如果你想看看!謝謝! – Oxymoronica
如果我正確理解您的問題,您需要各種換行符/終止符。如果我錯了,請隨時糾正我。 –