Действительно ли возможно определить, в котором языке блок.NET был записан действие с обратной силой?

Вы можете удалить все теги <img>, используя BeautifulSoup:

import requests
import bs4

response = requests.get('https://stackoverflow.com/questions/55673916/python-string-replace-html-tags')
content = response.content

soup = bs4.BeautifulSoup(content, 'html.parser')
imgs = soup.find_all('img')

for img in imgs:
    img.extract()

# Print without <img> tags
print(str(soup))

Это работает для меня как с тегами <img ... />, так и <img ...>.

10
задан Rick Minerich 24 February 2009 в 14:27
поделиться

2 ответа

Проверка ссылок для вещей как VB или библиотеки классов F#, кажется, наименее шаткий способ сделать это, но поскольку другие упоминают, это - эвристика - точно так же, как нет никакого категорического способа сказать, какой язык собственный двоичный файл записан в (но можно быть почти на 100% уверены эвристикой),

3
ответ дан 4 December 2019 в 03:39
поделиться

То, когда язык.NET компилируется, все, что Вы получаете, является IL. Я не знаю о стандартном способе определить, какой определенный язык создал блок. Можно взять существующий блок, и ildasm (демонтируют) его в IL и их, ilasm (собирают) его назад в фактически идентичный блок.

Эвристика, которую Вы используете, является разумным и умным способом определить, что язык раньше создавал блок. Однако примите во внимание, что эти детали могли бы измениться между версиями компилятора языков.

2
ответ дан 4 December 2019 в 03:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: